1 功能说明
通过outlook邮件客户端,根据筛选条件接收outlook邮件应用程序内指定邮箱文件夹中的邮件,并返回这些邮件信息对象组成的列表。
2 基本操作说明
组件是通过调用outlook客户端,获取outlook上指定邮箱帐户的邮件。
1). 在“邮箱账号”参数中传入outlook中设置好的接收邮箱的地址;
2). 设置“附件保存路径”中设置邮件中附件的下载存放地址。
3). “返回值”传入输出,进行打印,其运行结果如下:
3 参数属性说明
• “账户姓名”参数 即目标邮箱的邮箱地址,传入outlook中设置好的接收邮箱的地址。
• “收件箱名称”参数 指定收取邮件所在的收件箱,输入该收件箱的名称,默认为'收件箱'即可。
• “发送邮箱过滤”参数 根据邮件发送人的邮箱地址进行筛选,输入为字符串,只有发件人邮箱地址中包含该字符串的邮件才被收取。
1). 默认为空,匹配所有发送者的邮件; 如下图所示,组件返4个邮件信息对象为元素组成的列表,然后依次打印各个邮件的发件人邮箱地址(MailObject.sender_mail):
2). 输入字符串,收取邮箱中发件人邮箱地址包含该字符串的邮件。 例如输入'qq',则收取发件人邮箱账号中包含“qq”这个字符串的邮件,故只打印了两个QQ邮箱地址:
3). “收取未读状态”参数的值默认为True,获取的是未读的邮件;但为演示方便,此处将“变为已读状态”的默认值True修改为了False,即收取邮件后邮件依旧为未读状态;以及其他未介绍的参数,后面会继续介绍。
4). outlook当前邮箱收件箱中共有5封邮件,其中4封邮件未读。
• “主题过滤”参数 根据邮件的主题进行过滤,输入为字符串,收取邮件主题中包含该字符串的邮件。
1). 默认为空,匹配所有主题的邮件; 如下图所示,依次打印了4封邮件的主题(MailObject.subject):
2). 输入字符串,收取邮箱中主题包含该字符串的邮件,例如'测试',获取主题中包含字符串“测试”的邮件,故只获取到一封邮件:
• “内容过滤”参数 根据邮件的正文进行过滤,输入为字符串,收取邮件正文中包含该字符串的邮件。
1). 默认为空,匹配所有主题的邮件;
2). 输入字符串,收取邮箱中正文包含该字符串的邮件。例如'RPA',收取正文中包含字符串“RPA”的邮件,故只获取到两封邮件的正文(MailObject.body):
• “附件过滤”参数 根据邮件的附件进行过滤,输入为字符串,邮件附件名称(包括文件扩展名)中包含该字符串则被收取。
1). 默认为空,匹配所有主题的邮件; 如下图所示,输出打印了4封邮件的附件名(MailObject.attachments):(没有附件的则打印为空的列表)
2). 输入字符串,收取前n(设置的邮件选择数目)封邮箱中附件名称包含该字符串的邮件。 例如输入'csv',收取附件名称中包含字符串“csv”的邮件,故只获取到一封邮件:
• “收取未读状态”参数 设置是否只收取未读状态的邮件,True为真,只收取未读状态的邮件,False为假,不只选择未读状态的邮件,即收取收件箱内所有的邮件:
1). 默认为True,所有过滤条件均为空的情况下,选取邮箱中未读状态的邮件; 任一过滤条件非空,从前n封邮件中选取满足条件的邮件:
2). 选择False,收取所有封邮件:
• “变为已读状态”参数 针对未读邮件的参数,默认为True,收取未读邮件后,邮件状态变为已读;设置为False,收取到的未读邮件依旧为未读邮件。
• “选择数目”参数 从上往下(邮件在收件箱中的位置,时间近的在上),设置收取邮件的最大数量。默认为None,输入为int整型。
1). 默认为None,收取所有符合条件的邮件;
2). 输入整型n,获取符合条件的邮件,超过n封则不在收取。
• 返回值 返回邮件信息对象组成的列表,邮件对象中包括发送人(sender_mail)、接收时间(received_time )、主题(subject )、正文(body)、抄送(cc)以及附件(attachments)等属性 如果需要调用以上方法,可以通过返回值或自定义函数来实现,函数实现举例:
1). 创建一个接受邮件的步骤,并确保接受邮件组件运行没问题
2). 自定义一个函数,将步骤生成的 python 代码复制到函数中进行操作,将步骤运行的结果返回给一个变量
3). import ubpa.ioutlook as ioutlook
4). def re_mail():
5). #设定返回值
6). mailMessage = ioutlook.recv_outlook(mail_account='wangjing@i-search.com.cn',mark_as_read=True,only_unread=True)
7). #打印变量
8). print(mailMessage)
9). #打印调用对象方法
10). print(mailMessage[0]. sender_mail)
11). print(mailMessage[0]. received_time)
12). print(mailMessage[0]. subject)
13). print(mailMessage[0]. body)
print(mailMessage[0]. attachments)