QQ邮件群发工具批量版,支持163邮箱,可搭建SMTP邮局,易语言全开源

发布时间 2023-11-17 13:34:55作者: 新壳软件

不借助任何易语言的模块,纯代码编写的,运行非常流畅,我之前自己发QQ邮件用的,每天几千份没问题,近期因为一些工作上的原因就想着把软件开源出来,一些好的思路就免费分享出来,软件核心发送模块整合到了“jmail.dll这个文件大家网上估计能搜到,我下面分享的代码是所有代码,并不是单个窗口的代码也不是某个子程序代码,所以分享的比较多,完整的,感兴趣的就可以详细的分析研究一下哈。

软件界面图:

 

 

窗口程序集代码:

================================================

.版本 2

.支持库 spec

.支持库 iext

.支持库 EThread

.支持库 internet

.程序集 窗口程序集_启动窗口

.程序集变量 收件人数, 整数型

.程序集变量 收件人数组, 文本型, , "0"

.程序集变量 执行线程句柄, 整数型

.程序集变量 发件人, 文本型

.程序集变量 jmail, 邮件发送

.程序集变量 后缀, 文本型

.程序集变量 成功, 整数型

.程序集变量 总共, 整数型

.程序集变量 用户名, 文本型

.程序集变量 密码, 文本型

.程序集变量 发信线程句柄, 整数型

.程序集变量 文件数组, 文本型, , "0"

.程序集变量 次, 整数型

.子程序 __启动窗口_创建完毕

.如果真 (文件是否存在 (“C:\jmail.dll”) = 假)

写到文件 (“C:\jmail.dll”, #图片1)

延迟 (1000)

运行 (“regsvr32 C:\jmail.dll”, 假, #隐藏窗口)

信息框 (“初次运行,配置完毕”, 0, , )

.如果真结束

组合框1.现行选中项 = 0

状态条1.置文本 (0, 状态条1.取文本 (0) + “服务器未连接”)

编辑框_账号1.内容 = 读配置项 (“C:\ajfx.ini”, “发信配置”, “账号1”, )

编辑框_账号2.内容 = 读配置项 (“C:\ajfx.ini”, “发信配置”, “账号2”, )

编辑框_账号3.内容 = 读配置项 (“C:\ajfx.ini”, “发信配置”, “账号3”, )

编辑框_密码1.内容 = 读配置项 (“C:\ajfx.ini”, “发信配置”, “密码1”, )

编辑框_密码2.内容 = 读配置项 (“C:\ajfx.ini”, “发信配置”, “密码2”, )

编辑框_密码3.内容 = 读配置项 (“C:\ajfx.ini”, “发信配置”, “密码3”, )

编辑框_服务器端口.内容 = 读配置项 (“C:\ajfx.ini”, “发信配置”, “端口”, )

编辑框_邮件内容.内容 = 读配置项 (“C:\ajfx.ini”, “发信配置”, “内容”, )

编辑框_邮件标题.内容 = 读配置项 (“C:\ajfx.ini”, “发信配置”, “标题”, )

日志.加入文本 (“启动成功======================” + #换行符 + “ 作者QQ:1678344336” + #换行符 + “ By:阿杰” + #换行符)

.子程序 _看见密码_被单击

.如果 (看见密码.选中 = 真)

连续赋值 (0, 编辑框_密码1.输入方式, 编辑框_密码2.输入方式, 编辑框_密码3.输入方式)

.否则

连续赋值 (2, 编辑框_密码1.输入方式, 编辑框_密码2.输入方式, 编辑框_密码3.输入方式)

.如果结束

.子程序 _按钮_清空_被单击

编辑框_收件人.内容 = “”

.子程序 _按钮_导出_被单击

.如果真 (写到文件 (取运行目录 () + “\导出” + 到文本 (取现行时间 ()) + “.txt”, 到字节集 (编辑框_收件人.内容)) = 假)

信息框 (“导出失败”, 0, , )

返回 ()

.如果真结束

信息框 (“导出成功”, 0, , )

.子程序 _按钮_导入_被单击

.局部变量 临时文本, 文本型

通用对话框1.标题 = “导入收件人*”

通用对话框1.初始目录 = 取运行目录 ()

通用对话框1.过滤器 = “文本文件(*.txt)|*.txt”

启动线程 (&导入线程, , 执行线程句柄)

.如果真 (通用对话框1.打开 () = 假)

返回 ()

.如果真结束

临时文本 = 到文本 (读入文件 (通用对话框1.文件名))

编辑框_收件人.内容 = 临时文本

.子程序 _按钮_连接服务器_被单击

.如果真 (单选框1.选中 = 真)

.如果真 (编辑框_密码1.内容 = “” 或 编辑框_账号1.内容 = “”)

信息框 (“请填写一号发信服务器账号密码”, 0, , )

返回 ()

.如果真结束

.如果真 (连接发信服务器 (组合框1.内容, 到整数 (编辑框_服务器端口.内容), 编辑框_账号1.内容, 编辑框_密码1.内容, 3000) = 真)

状态条1.置文本 (0, “服务器连接:服务器已连接”)

日志.加入文本 (“已连接1号服务器” + #换行符)

信息框 (“1号配置连接发信服务器成功~~!!”, 0, , )

返回 ()

.如果真结束

.如果真结束

.如果真 (单选框2.选中 = 真)

.如果真 (编辑框_密码2.内容 = “” 或 编辑框_账号2.内容 = “”)

信息框 (“请填写二号发信服务器账号密码”, 0, , )

返回 ()

.如果真结束

.如果真 (连接发信服务器 (组合框1.内容, 到整数 (编辑框_服务器端口.内容), 编辑框_账号2.内容, 编辑框_密码2.内容, 3000) = 真)

状态条1.置文本 (0, “服务器连接:服务器已连接”)

日志.加入文本 (“已连接2号服务器” + #换行符)

信息框 (“2号配置连接发信服务器成功~~!!”, 0, , )

返回 ()

.如果真结束

.如果真结束

.如果真 (单选框3.选中 = 真)

.如果真 (编辑框_密码3.内容 = “” 或 编辑框_账号3.内容 = “”)

信息框 (“请填写三号发信服务器账号密码”, 0, , )

返回 ()

.如果真结束

.如果真 (连接发信服务器 (组合框1.内容, 到整数 (编辑框_服务器端口.内容), 编辑框_账号3.内容, 编辑框_密码3.内容, 3000) = 真)

状态条1.置文本 (0, “服务器连接:服务器已连接”)

日志.加入文本 (“已连接3号服务器” + #换行符)

信息框 (“3号配置连接发信服务器成功~~!!”, 0, , )

返回 ()

.如果真结束

.如果真结束

日志.加入文本 (“连接发信服务器失败!” + #换行符)

信息框 (“连接发信服务器失败,请确认配置是否正确”, 0, , )

.子程序 导入线程

.局部变量 是否跳出, 整数型

.局部变量 窗口句柄, 整数型

是否跳出 = 0

.判断循环首 (是否跳出 = 0) ' 建立一直循环机制

.如果 (FindWindow (“#32770”, “导入收件人*”) ≠ 0)

窗口句柄 = FindWindow (“#32770”, “导入收件人*”)

.否则

窗口句柄 = 0

.如果结束

.如果 (窗口句柄 ≠ 0)

调试输出 (“找到了”)

设置窗口位置_ (窗口句柄, 0, (取屏幕宽度 () - 600) ÷ 2, (取屏幕高度 () - 350) ÷ 2, 600, 350, 0)

跳出循环 () ' 已经找到了并且设置了窗口,所以就跳出循环结束线程吧。

.否则

' 本源码来自易语言资源网(www.5A5X.com)

.如果结束

.判断循环尾 ()

强制结束线程 (执行线程句柄)

.子程序 _按钮_加载_被单击

收件人数组 = 分割文本 (编辑框_收件人.内容, #换行符, )

收件人数 = 取数组成员数 (收件人数组)

调试输出 (收件人数组)

状态条1.置文本 (1, “收信人数:” + 到文本 (收件人数))

按钮_启动.禁止 = 假

.子程序 _按钮_启动_被单击

.如果 (按钮_启动.标题 = “启动”)

启动线程 (&发信操作线程, , 发信线程句柄)

按钮_启动.标题 = “停止”

.否则

强制结束线程 (发信线程句柄)

按钮_启动.标题 = “启动”

.如果结束

.子程序 发信操作线程

.局部变量 次数, 整数型

.局部变量 失败, 整数型

选择框1.禁止 = 真

单选框5.禁止 = 真

单选框4.禁止 = 真

单选框3.禁止 = 真

单选框2.禁止 = 真

单选框1.禁止 = 真

单选框_正常.禁止 = 真

单选框_html.禁止 = 真

组合框1.禁止 = 真

编辑框_邮件内容.禁止 = 真

编辑框_邮件内容.禁止 = 真

编辑框_收件人.禁止 = 真

按钮_加载.禁止 = 真

按钮_导入.禁止 = 真

日志.加入文本 (“开始发信” + #换行符)

进度条1.最大位置 = 收件人数

进度条1.位置 = 0

.如果真 (组合框1.现行选中项 = 0)

后缀 = “@163.com”

.如果真结束

.如果真 (组合框1.现行选中项 = 1)

后缀 = “@qq.com”

.如果真结束

.如果真 (组合框1.现行选中项 = 2)

后缀 = “@126.com”

.如果真结束

.如果真 (单选框1.选中 = 真)

用户名 = 编辑框_账号1.内容

密码 = 编辑框_密码1.内容

.如果真结束

.如果真 (单选框2.选中 = 真)

用户名 = 编辑框_账号2.内容

密码 = 编辑框_密码2.内容

.如果真结束

.如果真 (单选框3.选中 = 真)

用户名 = 编辑框_账号3.内容

密码 = 编辑框_密码3.内容

.如果真结束

文件数组 = 分割文本 (编辑框1.内容, #换行符, )

.计次循环首 (收件人数, 次数)

' =====================防止发信跳出==================

.如果真 (单选框1.选中 = 真)

发件人 = 编辑框_账号1.内容

连接发信服务器 (组合框1.内容, 到整数 (编辑框_服务器端口.内容), 编辑框_账号1.内容, 编辑框_密码1.内容, 3000)

.如果真结束

.如果真 (单选框2.选中 = 真)

发件人 = 编辑框_账号2.内容

连接发信服务器 (组合框1.内容, 到整数 (编辑框_服务器端口.内容), 编辑框_账号2.内容, 编辑框_密码2.内容, 3000)

.如果真结束

.如果真 (单选框3.选中 = 真)

发件人 = 编辑框_账号3.内容

连接发信服务器 (组合框1.内容, 到整数 (编辑框_服务器端口.内容), 编辑框_账号3.内容, 编辑框_密码3.内容, 3000)

.如果真结束

' =====================防止发信跳出==================

' ====================附件判断=========================

清除所有附件 ()

jmail.清除附件列表 ()

.如果真 (选择框1.选中 = 真)

.如果真 (单选框4.选中 = 真)

.计次循环首 (取数组成员数 (文件数组), 次)

.如果 (单选框_正常.选中 = 真)

添加附件文件 (文件数组 [次])

.否则

.如果结束

处理事件 ()

.计次循环尾 ()

.如果真结束

.如果真 (单选框5.选中 = 真)

.如果 (单选框_正常.选中 = 真)

添加附件数据 (到字节集 (编辑框3.内容), 编辑框2.内容)

.否则

.如果结束

.如果真结束

.如果真结束

' ============================发信判断=====================

.如果真 (单选框_正常.选中 = 真)

.如果 (发送邮件 (编辑框_邮件标题.内容, 编辑框_邮件内容.内容, 收件人数组 [次数], , , 发件人 + 后缀, 发件人 + 后缀) = “”)

成功 = 成功 + 1

日志.加入文本 (“第[” + 到文本 (次数) + “]次,发送给” + 收件人数组 [次数] + “成功!” + #换行符)

状态条1.置文本 (3, “成功:” + 到文本 (成功))

.否则

失败 = 失败 + 1

日志.加入文本 (“第[” + 到文本 (次数) + “]次,发送给” + 收件人数组 [次数] + “失败!” + #换行符)

状态条1.置文本 (4, “失败:” + 到文本 (失败))

.如果结束

进度条1.位置 = 进度条1.位置 + 1

总共 = 总共 + 1

状态条1.置文本 (2, “已发信人数:” + 到文本 (总共))

.如果真结束

.如果真 (单选框_html.选中 = 真)

.如果 (html发送邮件 (发件人 + 后缀, 发件人 + 后缀, 编辑框_邮件标题.内容, 发件人 + 后缀, 编辑框_邮件内容.内容, 收件人数组 [次数], 组合框1.取项目文本 (组合框1.现行选中项), 用户名 + 后缀, 密码, 选择框1.选中, 取数组成员数 (文件数组) > 1, 编辑框1.内容, 编辑框2.内容, 编辑框3.内容, 单选框5.选中) = 真)

成功 = 成功 + 1

日志.加入文本 (“第[” + 到文本 (次数) + “]次,发送给” + 收件人数组 [次数] + “成功!” + #换行符)

状态条1.置文本 (3, “成功:” + 到文本 (成功))

.否则

失败 = 失败 + 1

日志.加入文本 (“第[” + 到文本 (次数) + “]次,发送给” + 收件人数组 [次数] + “失败!” + #换行符)

状态条1.置文本 (4, “失败:” + 到文本 (失败))

.如果结束

进度条1.位置 = 进度条1.位置 + 1

总共 = 总共 + 1

状态条1.置文本 (2, “已发信人数:” + 到文本 (总共))

.如果真结束

处理事件 ()

延迟 (到整数 (编辑框_延迟.内容))

.计次循环尾 ()

按钮_启动.标题 = “启动”

编辑框_邮件内容.禁止 = 假

编辑框_邮件内容.禁止 = 假

编辑框_收件人.禁止 = 假

按钮_加载.禁止 = 假

按钮_导入.禁止 = 假

组合框1.禁止 = 假

单选框3.禁止 = 假

单选框2.禁止 = 假

单选框1.禁止 = 假

单选框_正常.禁止 = 假

单选框_html.禁止 = 假

选择框1.禁止 = 假

单选框5.禁止 = 假

单选框4.禁止 = 假

日志.加入文本 (“全部发送完成” + #换行符)

信息框 (“发完了!”, 0, , )

.子程序 _按钮_清空配置_被单击

日志.加入文本 (“邮箱服务器配置清除完成=======” + #换行符)

连续赋值 (“”, 编辑框_密码3.内容, 编辑框_密码2.内容, 编辑框_密码1.内容, 编辑框_账号3.内容, 编辑框_账号2.内容, 编辑框_账号1.内容)

编辑框_服务器端口.内容 = “25”

信息框 (“清空完毕”, 0, , )

.子程序 _按钮_保存配置_被单击

写配置项 (“C:\ajfx.ini”, “发信配置”, “账号1”, 编辑框_账号1.内容)

写配置项 (“C:\ajfx.ini”, “发信配置”, “账号2”, 编辑框_账号2.内容)

写配置项 (“C:\ajfx.ini”, “发信配置”, “账号3”, 编辑框_账号3.内容)

写配置项 (“C:\ajfx.ini”, “发信配置”, “密码1”, 编辑框_密码1.内容)

写配置项 (“C:\ajfx.ini”, “发信配置”, “密码2”, 编辑框_密码2.内容)

写配置项 (“C:\ajfx.ini”, “发信配置”, “密码3”, 编辑框_密码3.内容)

写配置项 (“C:\ajfx.ini”, “发信配置”, “端口”, 编辑框_服务器端口.内容)

写配置项 (“C:\ajfx.ini”, “发信配置”, “标题”, 编辑框_邮件标题.内容)

写配置项 (“C:\ajfx.ini”, “发信配置”, “内容”, 编辑框_邮件内容.内容)

日志.加入文本 (“邮箱服务器配置成=========” + #换行符)

信息框 (“保存成功,配置文件路径:C:\ajfx.ini”, 0, , )

.子程序 html发送邮件, 逻辑型

.参数 发信人姓名, 文本型

.参数 发件人地址, 文本型

.参数 邮件标题, 文本型

.参数 回复地址, 文本型

.参数 内容, 文本型

.参数 收信人地址, 文本型

.参数 发信服务器, 文本型

.参数 发信用户名, 文本型

.参数 发信密码, 文本型

.参数 是否附件发送, 逻辑型, 可空

.参数 是否多文件, 逻辑型, 可空

.参数 文件地址, 文本型, 可空

.参数 文件名, 文本型, 可空

.参数 文件数据, 文本型, 可空

.参数 是否指定文件, 逻辑型, 可空

.局部变量 是否发送成功, 逻辑型

.局部变量 多文件数组, 文本型, , "0"

.局部变量 次数, 整数型

jmail.清除所有邮件信息 ()

jmail.置_发件人姓名 (发信人姓名)

jmail.置_发件人地址 (发件人地址)

jmail.置_邮件标题 (邮件标题)

jmail.置_回复地址 (回复地址)

.如果真 (是否附件发送 = 真)

.如果 (是否指定文件 = 真)

jmail.添加自定义型附件 (文件名, 文件数据, 真)

.否则

.如果 (是否多文件 = 真)

多文件数组 = 分割文本 (文件地址, #换行符, )

.计次循环首 (取数组成员数 (多文件数组), 次数)

jmail.添加文件型附件 (多文件数组 [次数], 真, )

.计次循环尾 ()

.否则

jmail.添加文件型附件 (文件地址, 真, )

.如果结束

.如果结束

.如果真结束

jmail.追加HTML正文 (内容)

jmail.添加收件人 (收信人地址, 邮件标题, 收信人地址)

jmail.置_邮件服务器SMTP登录用户名 (发信用户名)

jmail.置_邮件服务器SMTP登录密码 (发信密码)

jmail.置_设置字符集 (“UTF-8”)

是否发送成功 = jmail.发送邮件 (发信服务器, 假)

jmail.关闭连接 ()

返回 (是否发送成功)

.子程序 _单选框4_被单击

.如果 (单选框4.选中 = 真)

编辑框1.禁止 = 假

编辑框3.禁止 = 真

编辑框2.禁止 = 真

.否则

编辑框1.禁止 = 真

编辑框3.禁止 = 假

编辑框2.禁止 = 假

.如果结束

.子程序 _单选框5_被单击

.如果 (单选框5.选中 = 真)

编辑框1.禁止 = 真

编辑框3.禁止 = 假

编辑框2.禁止 = 假

.否则

编辑框1.禁止 = 假

.如果结束

.子程序 _选择框1_被单击

.如果 (选择框1.选中 = 真)

分组框7.可视 = 真

分组框4.高度 = 79

分组框5.高度 = 79

编辑框_邮件内容.高度 = 57

编辑框_邮件标题.高度 = 57

.否则

分组框7.可视 = 假

分组框4.高度 = 135

分组框5.高度 = 135

编辑框_邮件内容.高度 = 115

编辑框_邮件标题.高度 = 115

.如果结束

===========================================================

邮件发送子程序代码:

============================================================

.版本 2

.程序集 邮件发送

.程序集变量 Message对象, 对象

.子程序 _初始化, , , 当基于本类的对象被创建后,此方法会被自动调用

Message对象.创建 (“{E5FF9F62-0E7C-4372-8AD5-DA7D2418070C}”, )

.子程序 _销毁, , , 当基于本类的对象被销毁前,此方法会被自动调用

Message对象.清除 ()

.子程序 取对象, 对象, 公开, 取出类对象

返回 (Message对象)

.子程序 置对象, 逻辑型, 公开, 赋值类对象

.参数 外部对象, 对象

返回 (Message对象.取接口 (外部对象, ))

.子程序 取_邮件发送时间, 日期时间型, 公开

返回 (Message对象.读日期属性 (“Date”, ))

.子程序 取_邮箱的总字节数, 长整数型, 公开

返回 (Message对象.读数值属性 (“Size”, ))

.子程序 从数据流读取数据, , 公开

.参数 Stream, 变体型

Message对象.方法 (“LoadFromStream”, Stream)

.子程序 将源邮件保存到数据流, , 公开

.参数 Stream, 变体型

Message对象.方法 (“SaveToStream”, Stream)

.子程序 解析邮件, , 公开

.参数 MessageSource, 文本型

Message对象.方法 (“ParseMessage”, MessageSource)

.子程序 取_源文件, 文本型, 公开

返回 (Message对象.读文本属性 (“Text”, ))

.子程序 取_邮件标题, 文本型, 公开

返回 (Message对象.读文本属性 (“Subject”, ))

.子程序 置_邮件标题, 逻辑型, 公开

.参数 属性值, 文本型

返回 (Message对象.写属性 (“Subject”, 属性值))

.子程序 取_发件人地址, 文本型, 公开

返回 (Message对象.读文本属性 (“From”, ))

.子程序 置_发件人地址, 逻辑型, 公开

.参数 属性值, 文本型

返回 (Message对象.写属性 (“From”, 属性值))

.子程序 取_发件人姓名, 文本型, 公开

返回 (Message对象.读文本属性 (“FromName”, ))

.子程序 置_发件人姓名, 逻辑型, 公开

.参数 属性值, 文本型

返回 (Message对象.写属性 (“FromName”, 属性值))

.子程序 取_邮件正文, 文本型, 公开

返回 (Message对象.读文本属性 (“Body”, ))

.子程序 置_邮件正文, 逻辑型, 公开

.参数 属性值, 文本型

返回 (Message对象.写属性 (“Body”, 属性值))

.子程序 取_邮件优先级, 字节型, 公开

返回 (到字节 (Message对象.读属性 (“Priority”, ).取字节集 ()))

.子程序 置_邮件优先级, 逻辑型, 公开

.参数 属性值, 字节型

返回 (Message对象.写属性 (“Priority”, 属性值))

.子程序 取_正文格式ContentType, 文本型, 公开

返回 (Message对象.读文本属性 (“ContentType”, ))

.子程序 置_正文格式ContentType, 逻辑型, 公开

.参数 属性值, 文本型

返回 (Message对象.写属性 (“ContentType”, 属性值))

.子程序 发送邮件, 逻辑型, 公开

.参数 mailServer, 文本型

.参数 enque, 逻辑型, 可空

返回 (Message对象.逻辑方法 (“Send”, mailServer, enque))

.子程序 取_文本正文, 文本型, 公开

返回 (Message对象.读文本属性 (“BodyText”, ))

.子程序 输出邮件头信息, 文本型, 公开

.参数 添加自定义邮件头, 文本型

返回 (Message对象.文本方法 (“DecodeHeader”, 添加自定义邮件头))

.子程序 发送邮件到新闻组, , 公开

.参数 ServerName, 文本型

.参数 Newsgroups, 文本型

Message对象.方法 (“SendToNewsGroup”, ServerName, Newsgroups)

.子程序 取_Envelope, 变体型, 公开

返回 (Message对象.读属性 (“Envelope”, ))

.子程序 置_Envelope, 逻辑型, 公开

.参数 属性值, 变体型

返回 (Message对象.写属性 (“Envelope”, 属性值))

.子程序 取_指定微软SMTP服务的Pickup文件夹位置, 文本型, 公开

返回 (Message对象.读文本属性 (“MsPickupdirectory”, ))

.子程序 置_指定微软SMTP服务的Pickup文件夹位置, 逻辑型, 公开

.参数 属性值, 文本型

返回 (Message对象.写属性 (“MsPickupdirectory”, 属性值))

.子程序 将邮件追加到发送队列, , 公开

Message对象.方法 (“nq”, )

.子程序 取_PGPEncrypt, 逻辑型, 公开

返回 (Message对象.读逻辑属性 (“PGPEncrypt”, ))

.子程序 置_PGPEncrypt, 逻辑型, 公开

.参数 属性值, 逻辑型

返回 (Message对象.写属性 (“PGPEncrypt”, 属性值))

.子程序 取_PGPSign, 逻辑型, 公开

返回 (Message对象.读逻辑属性 (“PGPSign”, ))

.子程序 置_PGPSign, 逻辑型, 公开

.参数 属性值, 逻辑型

返回 (Message对象.写属性 (“PGPSign”, 属性值))

.子程序 取_PGPPassphrase, 文本型, 公开

返回 (Message对象.读文本属性 (“PGPPassphrase”, ))

.子程序 置_PGPPassphrase, 逻辑型, 公开

.参数 属性值, 文本型

返回 (Message对象.写属性 (“PGPPassphrase”, 属性值))

.子程序 取_PGPSignkey, 文本型, 公开

返回 (Message对象.读文本属性 (“PGPSignkey”, ))

.子程序 置_PGPSignkey, 逻辑型, 公开

.参数 属性值, 文本型

返回 (Message对象.写属性 (“PGPSignkey”, 属性值))

.子程序 取_回复地址, 文本型, 公开

返回 (Message对象.读文本属性 (“ReplyTo”, ))

.子程序 置_回复地址, 逻辑型, 公开

.参数 属性值, 文本型

返回 (Message对象.写属性 (“ReplyTo”, 属性值))

.子程序 取_HideRecipients, 文本型, 公开

返回 (Message对象.读文本属性 (“HideRecipients”, ))

.子程序 置_HideRecipients, 逻辑型, 公开

.参数 属性值, 文本型

返回 (Message对象.写属性 (“HideRecipients”, 属性值))

.子程序 取_邮件服务器, 文本型, 公开

返回 (Message对象.读文本属性 (“MailDomain”, ))

.子程序 置_邮件服务器, 逻辑型, 公开

.参数 属性值, 文本型

返回 (Message对象.写属性 (“MailDomain”, 属性值))

.子程序 取_设置字符集, 文本型, 公开

返回 (Message对象.读文本属性 (“Charset”, ))

.子程序 置_设置字符集, 逻辑型, 公开

.参数 属性值, 文本型

返回 (Message对象.写属性 (“Charset”, 属性值))

.子程序 取_设置邮件编码, 文本型, 公开

返回 (Message对象.读文本属性 (“ContentTransferEncoding”, ))

.子程序 置_设置邮件编码, 逻辑型, 公开

.参数 属性值, 文本型

返回 (Message对象.写属性 (“ContentTransferEncoding”, 属性值))

.子程序 取_指定mime版本, 文本型, 公开

返回 (Message对象.读文本属性 (“MimeVersion”, ))

.子程序 置_指定mime版本, 逻辑型, 公开

.参数 属性值, 文本型

返回 (Message对象.写属性 (“MimeVersion”, 属性值))

.子程序 取_设置附件的默认编码, 文本型, 公开

返回 (Message对象.读文本属性 (“Encoding”, ))

.子程序 置_设置附件的默认编码, 逻辑型, 公开

.参数 属性值, 文本型

返回 (Message对象.写属性 (“Encoding”, 属性值))

.子程序 取_对方收到邮件时发送收条, 逻辑型, 公开

返回 (Message对象.读逻辑属性 (“ReturnReceipt”, ))

.子程序 置_对方收到邮件时发送收条, 逻辑型, 公开

.参数 属性值, 逻辑型

返回 (Message对象.写属性 (“ReturnReceipt”, 属性值))

.子程序 添加自定义日志, , 公开

.参数 Message, 文本型

Message对象.方法 (“LogCustomMessage”, Message)

.子程序 取_日志, 文本型, 公开

返回 (Message对象.读文本属性 (“Log”, ))

.子程序 取_打开日志功能, 逻辑型, 公开

返回 (Message对象.读逻辑属性 (“Logging”, ))

.子程序 置_打开日志功能, 逻辑型, 公开

.参数 属性值, 逻辑型

返回 (Message对象.写属性 (“Logging”, 属性值))

.子程序 取_邮件正文的HTML部分, 文本型, 公开

返回 (Message对象.读文本属性 (“HTMLBody”, ))

.子程序 置_邮件正文的HTML部分, 逻辑型, 公开

.参数 属性值, 文本型

返回 (Message对象.写属性 (“HTMLBody”, 属性值))

.子程序 关闭连接, , 公开

Message对象.方法 (“Close”, )

.子程序 取_使用iso编码, 逻辑型, 公开

返回 (Message对象.读逻辑属性 (“ISOEncodeHeaders”, ))

.子程序 置_使用iso编码, 逻辑型, 公开

.参数 属性值, 逻辑型

返回 (Message对象.写属性 (“ISOEncodeHeaders”, 属性值))

.子程序 清除所有自定义邮件头, , 公开

Message对象.方法 (“ClearCustomHeaders”, )

.子程序 取_UsePipelining, 逻辑型, 公开

返回 (Message对象.读逻辑属性 (“UsePipelining”, ))

.子程序 置_UsePipelining, 逻辑型, 公开

.参数 属性值, 逻辑型

返回 (Message对象.写属性 (“UsePipelining”, 属性值))

.子程序 取_忽略所有错误, 逻辑型, 公开

返回 (Message对象.读逻辑属性 (“Silent”, ))

.子程序 置_忽略所有错误, 逻辑型, 公开

.参数 属性值, 逻辑型

返回 (Message对象.写属性 (“Silent”, 属性值))

.子程序 取_错误号, 长整数型, 公开

返回 (Message对象.读数值属性 (“ErrorCode”, ))

.子程序 取_错误说明, 文本型, 公开

返回 (Message对象.读文本属性 (“ErrorMessage”, ))

.子程序 取_错误来源, 文本型, 公开

返回 (Message对象.读文本属性 (“ErrorSource”, ))

.子程序 取_不添加邮件头, 逻辑型, 公开

返回 (Message对象.读逻辑属性 (“SimpleLayout”, ))

.子程序 置_不添加邮件头, 逻辑型, 公开

.参数 属性值, 逻辑型

返回 (Message对象.写属性 (“SimpleLayout”, 属性值))

.子程序 用指定URL的内容代替邮件正文, , 公开

.参数 bstrURL, 文本型

.参数 bstrAuth, 文本型, 可空

Message对象.方法 (“GetMessageBodyFromURL”, bstrURL, bstrAuth)

.子程序 下载文件并添加为附件, 文本型, 公开

.参数 bstrURL, 文本型

.参数 bstrAttachAs, 文本型

.参数 isInline, 逻辑型, 可空

.参数 bstrAuth, 文本型, 可空

返回 (Message对象.文本方法 (“AddURLAttachment”, bstrURL, bstrAttachAs, isInline, bstrAuth))

.子程序 下载并添加邮件列表, , 公开

.参数 bstrURL, 文本型

.参数 bstrAuth, 文本型, 可空

Message对象.方法 (“ExtractEmailAddressesFromURL”, bstrURL, bstrAuth)

.子程序 取_收件人, 文本型, 公开

返回 (Message对象.读文本属性 (“RecipientsString”, ))

.子程序 取_定时发送, 日期时间型, 公开

返回 (Message对象.读日期属性 (“DeferredDelivery”, ))

.子程序 置_定时发送, 逻辑型, 公开

.参数 属性值, 日期时间型

返回 (Message对象.写属性 (“DeferredDelivery”, 属性值))

.子程序 取_邮件源代码, 文本型, 公开

返回 (Message对象.读文本属性 (“MailData”, ))

.子程序 取_设置附加信息, 文本型, 公开

返回 (Message对象.读文本属性 (“About”, ))

.子程序 添加收件人, , 公开

.参数 emailAddress, 文本型

.参数 recipientName, 文本型, 可空

.参数 PGPKey, 文本型, 可空

Message对象.方法 (“AddRecipient”, emailAddress, recipientName, PGPKey)

.子程序 添加抄送人CC, , 公开

.参数 emailAddress, 文本型

.参数 recipientName, 文本型, 可空

.参数 PGPKey, 文本型, 可空

Message对象.方法 (“AddRecipientCC”, emailAddress, recipientName, PGPKey)

.子程序 添加密件抄送人BCC, , 公开

.参数 emailAddress, 文本型

.参数 PGPKey, 文本型, 可空

Message对象.方法 (“AddRecipientBCC”, emailAddress, PGPKey)

.子程序 取_版本信息, 文本型, 公开

返回 (Message对象.读文本属性 (“Version”, ))

.子程序 VerifyKeys, 逻辑型, 公开

.参数 keyString, 文本型

返回 (Message对象.逻辑方法 (“VerifyKeys”, keyString))

.子程序 清除收件人列表, , 公开

Message对象.方法 (“ClearRecipients”, )

.子程序 清除附件列表, , 公开

Message对象.方法 (“ClearAttachments”, )

.子程序 文件内容作为邮件正文, , 公开

.参数 FileName, 文本型

Message对象.方法 (“AppendBodyFromFile”, FileName)

.子程序 追加文本正文, , 公开

.参数 源文件, 文本型

Message对象.方法 (“AppendText”, 源文件)

.子程序 添加文件型附件, 文本型, 公开

.参数 FileName, 文本型

.参数 isInline, 逻辑型, 可空

.参数 正文格式ContentType, 文本型, 可空

返回 (Message对象.文本方法 (“AddAttachment”, FileName, isInline, 正文格式ContentType))

.子程序 添加自定义型附件, 文本型, 公开

.参数 FileName, 文本型

.参数 Data, 文本型

.参数 isInline, 逻辑型, 可空

返回 (Message对象.文本方法 (“AddCustomAttachment”, FileName, Data, isInline))

.子程序 添加自定义邮件头, , 公开

.参数 XHeader, 文本型

.参数 Value, 文本型

Message对象.方法 (“AddHeader”, XHeader, Value)

.子程序 添加邮件头, , 公开

.参数 添加自定义邮件头, 文本型

.参数 Value, 文本型

Message对象.方法 (“AddNativeHeader”, 添加自定义邮件头, Value)

.子程序 取_加密附件, 逻辑型, 公开

返回 (Message对象.读逻辑属性 (“EncryptAttachments”, ))

.子程序 置_加密附件, 逻辑型, 公开

.参数 属性值, 逻辑型

返回 (Message对象.写属性 (“EncryptAttachments”, 属性值))

.子程序 取_邮件服务器SMTP登录用户名, 文本型, 公开

返回 (Message对象.读文本属性 (“MailServerUserName”, ))

.子程序 置_邮件服务器SMTP登录用户名, 逻辑型, 公开

.参数 属性值, 文本型

返回 (Message对象.写属性 (“MailServerUserName”, 属性值))

.子程序 取_邮件服务器SMTP登录密码, 文本型, 公开

返回 (Message对象.读文本属性 (“MailServerPassWord”, ))

.子程序 置_邮件服务器SMTP登录密码, 逻辑型, 公开

.参数 属性值, 文本型

返回 (Message对象.写属性 (“MailServerPassWord”, 属性值))

.子程序 清除所有邮件信息, , 公开

Message对象.方法 (“Clear”, )

.子程序 追加HTML正文, , 公开

.参数 源文件, 文本型

Message对象.方法 (“AppendHTML”, 源文件)

.子程序 取_把邮件正文转换为指定的字符集, 逻辑型, 公开

返回 (Message对象.读逻辑属性 (“EnableCharsetTranslation”, ))

.子程序 置_把邮件正文转换为指定的字符集, 逻辑型, 公开

.参数 属性值, 逻辑型

返回 (Message对象.写属性 (“EnableCharsetTranslation”, 属性值))

.子程序 取_NoAutoContentID, 逻辑型, 公开

返回 (Message对象.读逻辑属性 (“NoAutoContentID”, ))

.子程序 置_NoAutoContentID, 逻辑型, 公开

.参数 属性值, 逻辑型

返回 (Message对象.写属性 (“NoAutoContentID”, 属性值))

============================================================