【Mail】-Imap收取邮件

栏目:云苍穹知识作者:金蝶来源:金蝶云社区发布:2024-09-23浏览:1

【Mail】-Imap收取邮件

1 功能说明

通过IMAP协议,从电子邮件服务提供商的服务器上进行一些邮件的相关操作,如标记已读、邮件过滤、下载邮件以及删除邮件等。

使用该组件前,邮箱需要开启“IMAP/SMTP服务”,否则无法正常运行;

收取邮件的顺序是从收件箱由上往下,即从接收时间最近的邮件开始;

注意该组件与【POP3收取邮件】的区别,POP3协议下的相关操作不会反馈到服务器上,而IMAP协议下客户端与服务器是双向通信的,即IMAP协议下的相关操作不仅反馈到客户端,服务器端也同步更新。

2 基本使用说明

IMAP全称是Internet Mail Access Protocol,即交互式邮件存取协议,是邮件访问标准协议之一,通过IMAP协议,组件从电子邮件服务提供商的服务器是哪个获取邮件。

根据所使用的邮箱,配置好相应的参数再运行,组件执行未报错则成功收取邮件,并返回邮件信息对象组成的列表。

1).若是没有获取到符合条件的邮件,则返回一个空列表;

2).邮件信息对象包括邮件的发送人(sender)、发送时间(received_time)、邮件主题(subject)、内容(body)以及附件(attachments:附件保存在本地的路径组成的列表)等。

3 参数配置说明

组件中的参数,均可传入变量进行设置,其中“服务器”、“端口”以及“ssl”参数取决于收取邮件的邮箱,可进入邮箱设置获取详细信息。

以下以腾讯企业邮箱为例进行参数的说明示范:

“服务器”参数 收取邮件的邮箱所对应的 IMAP 接收服务器,输入为字符串; 例如腾讯企业邮箱的接收服务器为 'imap.exmail.qq.com'

“端口”参数 邮箱 IMAP 接收服务器所对应的端口号; 例如腾讯企业邮箱的IMAP服务器端口号为 993

“ssl”参数 ssl(secure sockets layer 安全套接层)是保护网络通信安全及数据完整的一种安全协议; 该参数有两个选项,“True”表示该端口遵从ssl协议;默认为“False”,“False”表示端口非ssl,不过大多数邮箱,如腾讯企业邮箱的端口都是ssl。

“账户姓名”参数 即目标邮箱的邮箱地址,输入为字符串,收取该邮箱的邮件。

“密码”参数 直接输入邮箱的密码,输入的内容会被黑色圆圈替代,不显示明文。

有些邮箱出于安全设置,在第三方登陆邮箱时,需要生成授权码,该授权码作为密码输入。

“收件箱名称”参数 顾名思义,收件箱的名称,一般情况下邮箱的收件箱默认名称为“Inbox”,即此处参数的默认值。

“附件保存路径”参数 设置邮件附件下载保存在本地的路径,输入为字符串,可以点击后面的文件夹图标进行选择。

“发送邮箱过滤”参数 根据邮件发送人的邮箱地址进行筛选,输入为字符串,只有发件人邮箱地址中包含该字符串的邮件才被收取。

1). 默认为空,匹配所有发送者的邮件; 如下图所示,组件返5个邮件信息对象为元素组成的列表,然后依次打印各个邮件的发件人邮箱地址(MailObj.sender):

2). 输入字符串,收取前n(即设置的邮件选择数目)封邮箱中发件人邮箱地址包含该字符串的邮件。 例如输入'qq',则收取发件人邮箱账号中包含“qq”这个字符串的邮件,故只打印了两个QQ邮箱地址:

此处“收取未读状态”参数的值默认为True,获取的是未读的邮件;同时为演示方便,将“变为已读状态”的默认值True修改为了False,即收取邮件后邮件依旧为未读状态;以及其他未介绍的参数,后面会继续介绍。

下图为邮箱收件箱中的前几封邮件截图,共有3封未读邮件,参数配置说明中的示范未说明的情况下均是以此为例:

“主题过滤”参数 根据邮件的主题进行过滤,输入为字符串,收取邮件主题中包含该字符串的邮件。

1). 默认为空,匹配所有主题的邮件; 如下图所示,依次打印了5封邮件的主题(MailObj.subject):

2). 输入字符串,收取前n(设置的邮件选择数目)封邮箱中主题包含该字符串的邮件,例如'机器人',获取主题中包含字符串“机器人”的邮件,故只获取到一封邮件:

“内容过滤”参数 根据邮件的正文进行过滤,输入为字符串,收取邮件正文中包含该字符串的邮件。

1). 默认为空,匹配所有主题的邮件;

2). 输入字符串,收取前n(设置的邮件选择数目)封邮箱中正文包含该字符串的邮件。例如'通过考核',收取正文中包含字符串“通过考核”的邮件,故只获取到两封邮件的正文(MailObj.body):

“附件过滤”参数 根据邮件的附件进行过滤,输入为字符串,邮件附件名称(包括文件扩展名)中包含该字符串则被收取。

1). 默认为空,匹配所有主题的邮件; 如下图所示,输出打印了5封邮件的附件名(MailObj.attachments):(没有附件的则打印为空的列表)

2). 输入字符串,收取前n(设置的邮件选择数目)封邮箱中附件名称包含该字符串的邮件。 例如输入'csv',收取附件名称中包含字符串“csv”的邮件,故只获取到一封邮件:

“收取未读状态”参数 设置是否只收取未读状态的邮件,True为真,只收取未读状态的邮件,False为假,不只选择未读状态的邮件,即收取收件箱内所有的邮件:

1). 默认为True,所有过滤条件均为空的情况下,选取邮箱中前n封(设置的邮件选择数目)未读状态的邮件; 任一过滤条件非空,从前n封邮件中选取满足条件的邮件:

2). 选择False,所有过滤条件均为空的情况下,收取前n封邮件; 任一过滤条件非空,从前n封邮件中选取满足条件的邮件:

“变为已读状态”参数 针对未读邮件的参数,默认为True,收取未读邮件后,邮件状态变为已读;设置为False,收取到的未读邮件依旧为未读邮件。

“删除消息”参数 设置是否对收取到的邮件进行删除,默认为False,即不删除; 设置为True,则收取到邮件后删除邮件。

“选择数目”参数 从上往下(邮件在收件箱中的位置,时间近的在上),设置收取邮件的最大数量。默认为5,输入为int整型。

1). 所有过滤条件均为空的情况,获取前n封满足条件的邮件

2). 过滤条件中任一参数非空,从前n封邮件中获取满足条件的邮件。

返回值 返回邮件信息对象组成的列表。

【Mail】-Imap收取邮件

1 功能说明通过IMAP协议,从电子邮件服务提供商的服务器上进行一些邮件的相关操作,如标记已读、邮件过滤、下载邮件以及删除邮件等。• ...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息