KKmail 邮件组件参考手册 |
POP3Client 对象 |
|
POP3Client 对象是属于 KKmail
邮件接收对象的主要组成之一,它主要实现登陆远程 POP3 服务器,返回邮件数量、邮件标识、新邮件过滤等属性,并且,在此对象的基础上,创建信件对象(POP3Message)。 |
|
属性列表 |
属性 |
数据类型 |
描述 |
EstimateMailCount |
整数 |
[R] 返回邮件估计数量。本属性与 MailCount
属性的区别,请参照 MailCount 属性说明。 |
Host |
字符串 |
[W] 设置 POP3 服务器地址或IP |
InvokePath |
字符串 |
[RW] 设置或读取调用 KKmail 的主应用程序路径,默认值位
KKmail 文件的所在路径 |
LogFile |
字符串 |
[RW] 指定或返回日志记录文件,默认值为与 KKmail
文件相同目录里的 KKmail.log 文件 |
Logging |
整数 |
[RW] 设置或读取是否启用日志记录:
0: 否 (默认值)
1: 是 |
MailCount |
整数 |
[R] 返回准确的邮件数量。MailCount 与 EstimateMailCount
的区别,主要是在于:
MailCount 属性,是通过对 POP3 服务器发送 UIDL
指令,进行邮件历遍,因而所返回的邮件数量值,是准确的,然而邮箱的邮件数量与整个检测过程所耗费的时间成正比,对于已拥有大量邮件的邮箱而言,需要经过长时间的检测,才能得到结果;
EstimateMailCount 属性则是通过 STAT 指令获取 POP3 服务器返回的状态数据,不需要通过 UIDL
指令进行邮件历遍判断数量,在时耗上是要占绝对的优势,然而并不是所有的 POP3 服务器返回 STAT 结果的数据格式都相同,因此,EstimateMailCount
属性获取不到邮件数量的可能性依然是存在的。
MailCount 属性值对已经设置删除标记邮件,不予以考虑; 而在向服务器发送 QUIT 指令之前,EstimateMailCount
属性都会尝试估算并返回全部邮件数量,包括已经设置了删除标记的邮件。 |
NewMailUIDL |
字符串 |
[R] 返回 POP3 服务器上新邮件的标识列表或邮件索引集。
通过设置旧邮件过滤规则(UIDLFilter 或 UIDLFilterFile),返回除了旧邮件标识列表以外的所有新邮件标识列表或邮件索引集。此属性有一个参数:
plType [整数]
当 plType = 0 时,返回新邮件索引集,格式为: 1,2,3,4......
当 plType = 1 时,返回新邮件的唯一标识列表,标识之间以回车换行符(CR & LF)作为分隔 |
Password |
字符串 |
[W] 设置 POP3 服务器用户密码 |
Port |
整数 |
[W] 设置 POP3 服务器通讯端口,默认值为
110,一般情况不需要修改 |
RegKey |
字符串 |
[W] 设置 KKmail 注册码 |
RegUser |
字符串 |
[W] 设置 KKmail 注册用户账号 |
RetainCopy |
整数 |
[RW] 设置和返回是否在服务器保留邮件副本:
0: 否
1: 是 (默认值) |
SecurityLevel |
整数 |
[RW] 设置或返回对邮件正文解码的安全等级:
0: 普通模式 (默认值)
1: 安全模式
如果启用 安全模式 对邮件进行解码,邮件的正文内容则只会返回纯文本数据,而将可能含有恶意脚本的 HTML 代码内容作为附件文件。 |
State |
整数 |
[R] 返回当前工作状态:
0 连接关闭或中断
8 待命,准备就绪
16 工作任务进行中
当 State 的值处于 16 时,要求 POP3Client 对象执行其他操作,将会有可能执行失败,需等待当前任务执行完毕后,方可执行 |
TimeoutSecond |
整数 |
[RW] 设置与返回跟服务器通讯的指令时限,单位:
秒,每个通讯指令超过此属性值,将会发生超时中断任务,默认值为 10 秒 |
UIDLData |
字符串 |
[R] 返回当前邮箱所有邮件的唯一标识列表,标识之间以回车换行符(CR
& LF)作为分隔 |
UIDLFilter |
字符串 |
[W] 设置旧邮件标识列表(旧邮件过滤规则),标识之间以回车换行符(CR
& LF)作为分隔,通过设置此属性,可以让 NewMailUIDL 返回除此旧邮件标识列表以外的新邮件标识或索引集 |
UIDLFilterFile |
字符串 |
[W] 从外部文件读取 UIDLFilter
数据,文件中的数据格式必须符合旧邮件过滤规则,标识之间以回车换行符(CR & LF)作为分隔 |
User |
字符串 |
[W] 设置 POP3 服务器用户账号 |
说明: 以上属性项并非全部同时支持读与写: [R] 只读; [W] 只写; [RW] 可读写
|
方法 |
- ConnectToServer
语法: ConnectToServer [psHost], [psUser], [psPassword], [plPort]
描述: 连接登录到远程 POP3 服务器上,如果登录成功,State 属性值会变成 8,并启动邮件数量检测进程 返回: 0
登录成功; 非0 数值为登录失败 参数:
参数 |
数据类型 |
描述 |
psHost |
字符串 |
可选参数,POP3 服务器地址或IP,并同时修改
Host 属性值 |
psUser |
字符串 |
可选参数,POP3 服务器用户账号,并同时修改
User 属性值 |
psPassword |
字符串 |
可选参数,POP3 服务器用户密码,并同时修改
Password 属性值 |
plPort |
整数 |
可选参数,POP3 服务器通讯端口,默认值为
110,并同时修改 Port 属性值 |
|
- MailMessage
语法: MailMessage [plMailID] 描述: 创建信件对象实例,并启动指定索引的邮件数据获取进程。
返回: 创建成功返回一个 POP3Message 对象实例; 创建失败则返回
Nothing 参数: plMailID, 可选, 整数, 需要被打开的邮件索引ID, 如果 plMailID = 0 或缺失, 则会创建一个空的 POP3Message 实例.
|
- MailDelete
语法: MailDelete plMailID 描述: 删除指定的索引的邮件,此方法只是向服务器发送 DELE
指令,并且对相应的邮件设置删除标记,只有在 ConnectClose 执行后,服务器才会真正执行删除操作,在此之前,可以使用
MailDeleteReset 方法,撤消所有删除的标记 参数: plMailID, 整数, 需要被删除的邮件索引ID
|
- MailDeleteReset
语法: MailDeleteReset 描述: 撤消服务器上所有被标记为删除的标识 参数: 无参数
|
- RefreshMassageCount
语法: RefreshMassageCount 描述: 刷新邮件数量属性值,包括 EstimateMailCount 属性与 MailCount
属性的值 参数: 无参数
|
- ConnectClose
语法: ConnectClose 描述: 关闭与远程 POP3 服务器的连接,如果有标记为删除的邮件,服务器将会执行真实的删除操作
参数: 无参数
|
示例 [显示↓] |
Dim myPop3 As Object
Dim myMessage As Object
Set myPop3 = CreateObject("KKmail.POP3Client")
myPop3.RegUser = "Duclika"
myPop3.RegKey = "3963F1-493488B81F"
myPop3.Logging = 1
myPop3.LogFile = App.Path & "\KKmail_POP3.log"
myPop3.Host = "pop.163.com"
myPop3.User = "Duclika@163.com"
myPop3.Password = "mypassword"
myPop3.RetainCopy = 1
If myPop3.ConnectToServer() = 0 Then
'创建信件对象
Set myMessage = myPop3.MailMessage(1)
....
....
Else
MsgBox "连接POP3服务器失败"
End If
myPop3.ConnectClose
Set myPop3 = Nothing |
参阅 |
SMTPClient 对象 | POP3Message
对象 | POP3Attachment 对象 |
|
|