'****************************************************
'函数名:SendMail
'作 用:用Jmail组件发送邮件
'参 数:ServerAddress ----服务器地址
' AddRecipient ----收信人地址
' Subject ----主题
' Body ----信件内容
' Sender ----发信人地址
'****************************************************
function SendMail(MailServerAddress,AddRecipient,Subject,Body,Sender,MailFrom)
on error resume next
Dim JMail
Set JMail=Server.CreateObject("JMail.SMTPMail")
if err then
SendMail= "brli没有安装JMail组件/li"
err.clear
exit function
end if
JMail.Logging=True
JMail.Charset="gb2312"
JMail.ContentType = "text/html"
JMail.ServerAddress=MailServerAddress
JMail.AddRecipient=AddRecipient
JMail.Subject=Subject
JMail.Body=MailBody
JMail.Sender=Sender
JMail.From = MailFrom
JMail.Priority=1
JMail.Execute
Set JMail=nothing
if err then
SendMail=err.description
err.clear
else
SendMail="OK"
end if
end function
这个是易做的收信源码,但不是ASP!.版本 2
.支持库 pop3.程序集 窗口程序集1.子程序 _启动子程序, 整数型, , 本子程序在程序启动后最先执行标准输出 (, “邮件接收支持库的测试” + #换行符)
标准输出 (, “邮箱登陆:” + #换行符)
注册邮件接收回调函数 (回调函数)
设置代理 ()
登陆 ()
快速浏览 ()
标准输出 (, “快速浏览完毕” + #换行符)
标准输出 (, “需要详细查看各邮件吗?(Y/N)”)
.如果真 (取代码 (标准输入 (), 1) = 121)
读邮件 ()
.如果真结束
标准输入 ()
返回 (0) ' 可以根据您的需要返回任意数值.子程序 设置代理
.局部变量 是否设置, 文本型
.局部变量 服务器类型, 文本型
.局部变量 服务器地址, 文本型
.局部变量 服务器端口, 文本型
.局部变量 服务器用户, 文本型
.局部变量 服务器密码, 文本型标准输出 (, “是否设置代理服务器(Y/N)” + #换行符)
是否设置 = 标准输入 ()
.如果真 (取代码 (是否设置, 1) = 121)
标准输出 (, “1:HTTP1.1代理,2:SOCKS5代理----”)
服务器类型 = 标准输入 ()
标准输出 (, “代理服务器IP地址----”)
服务器地址 = 标准输入 ()
标准输出 (, “端口号----”)
服务器端口 = 标准输入 ()
标准输出 (, “用户名----”)
服务器用户 = 标准输入 ()
标准输出 (, “密码----”)
服务器密码 = 标准输入 ()
.如果 (设置代理服务器 (到整数 (服务器类型), 服务器地址, 到数值 (服务器端口), 服务器用户, 服务器密码) = 真)
标准输出 (, “设置代理服务器成功” + #换行符)
.否则
标准输出 (, “设置代理服务器失败”)
标准输入 ()
结束 ()
.如果结束.如果真结束
.子程序 登陆
.局部变量 文本变量, 文本型标准输出 (, “请输入邮件服务器地址:”)
文本变量 = 标准输入 (真)
登陆信息 [1] = 文本变量
标准输出 (, “请输入端口号:”)
文本变量 = 标准输入 (真)
登陆信息 [2] = 文本变量
标准输出 (, “请输入用户名:”)
文本变量 = 标准输入 (真)
登陆信息 [3] = 文本变量
标准输出 (, “请输入密码:”)
文本变量 = 标准输入 (真)
登陆信息 [4] = 文本变量
标准输出 (, “请输入等待时间(毫秒):”)
文本变量 = 标准输入 (真)
登陆信息 [5] = 文本变量
标准输出 (, “请输入重试次数:”)
文本变量 = 标准输入 (真)
登陆信息 [6] = 文本变量
标准输出 (, #换行符)
连接邮件服务器 ().子程序 连接邮件服务器标准输出 (, “正在登陆邮件服务器请稍候..........”)
标准输出 (, #换行符 + #换行符)
.如果真 (连接收信服务器 (登陆信息 [1], 到数值 (登陆信息 [2]), 登陆信息 [3], 登陆信息 [4], 到数值 (登陆信息 [5]), 到数值 (登陆信息 [6])) = 假)
标准输出 (, “发生错误:” + 取邮件错误信息 ())
标准输入 ()
结束 ()
.如果真结束
标准输出 (, “邮箱连接成功”)
读邮件 ().子程序 读邮件
.局部变量 逻辑返回, 逻辑型
.局部变量 邮件总量, 整数型
.局部变量 浏览, 文本型
.局部变量 邮件序号, 文本型
.局部变量 计次变量, 整数型逻辑返回 = 获取邮件信息 (邮件总数, 邮件总量)
.如果真 (逻辑返回 = 假)
标准输出 (, “获取邮件信息出错:” + 取邮件错误信息 ())
标准输入 ()
结束 ().如果真结束标准输出 (, “邮件总量:” + 到文本 (邮件总量) + #换行符)
标准输出 (, “邮件个数:” + 到文本 (邮件总数) + #换行符)
重定义数组 (邮件, 假, 邮件总数)清除数组 (邮件大小)
逻辑返回 = 获取邮件大小 (-1, 邮件大小, 邮件总数)
.如果真 (逻辑返回 = 假)
标准输出 (, “获取每个邮件的大小出错:” + 取邮件错误信息 ())
标准输入 ()
结束 ().如果真结束标准输出 (, “是否要快速浏览(Y/N) ”)
浏览 = 标准输入 (真)
标准输出 (, #换行符)
标准输出 (, “正在接收邮件请稍候............”).如果 (取代码 (浏览, 1) = 121)
是否快速浏览 = 真
.计次循环首 (邮件总数, 计次变量)
邮件 [计次变量] = 接收邮件前几行 (计次变量, 10)
.计次循环尾 ()
.否则
.计次循环首 (邮件总数, 计次变量)
邮件 [计次变量] = 接收邮件 (计次变量)
.计次循环尾 ()
.如果结束标准输出 (, #换行符)
标准输出 (, #换行符)
清除数组 (邮件序号组)
.计次循环首 (邮件总数, 计次变量)
接收邮件序号 (计次变量, 邮件序号)
加入成员 (邮件序号组, 邮件序号)
.计次循环尾 ()标准输出 (, “邮件接收完毕”)
断开收信服务器 ().如果真 (是否快速浏览 = 假)
邮件信息 ()
.如果真结束
.子程序 邮件信息
.局部变量 邮件次序号, 整数型标准输出 (, “共接收邮件 ” + 到文本 (邮件总数) + “ 个” + #换行符)
标准输出 (, “要查看邮件内容请输入邮件的次序号:”)
邮件次序号 = 到数值 (标准输入 (真))
.如果 (邮件次序号 ≥ 1 且 邮件次序号 ≤ 邮件总数)
取邮件 (邮件次序号)
.否则
邮件信息 ()
.如果结束
.子程序 取附件信息
.参数 附件索引数, 整数型
.局部变量 是否嵌入式, 逻辑型
.局部变量 文件名, 文本型
.局部变量 文件号, 整数型标准输出 (, #换行符)
标准输出 (, “第 ” + 到文本 (附件索引数) + “ 个附件信息” + #换行符)标准输出 (, “是否嵌入式:”)
是否嵌入式 = 附件 [附件索引数].取是否嵌入式附件 ()
标准输出 (, 到文本 (是否嵌入式))
标准输出 (, #换行符)
.如果 (是否嵌入式 = 真)
标准输出 (, “嵌入文件名:”)
标准输出 (, 附件 [附件索引数].取名称 ())
.否则
标准输出 (, “附加文件名:”)
标准输出 (, 附件 [附件索引数].取文件名 ())
.如果结束
标准输出 (, #换行符)标准输出 (, “附件大小:”)
标准输出 (, 到文本 (附件 [附件索引数].取大小 ()))
标准输出 (, #换行符)标准输出 (, “附件类型:”)
标准输出 (, 附件 [附件索引数].取类型 ())
标准输出 (, #换行符)标准输出 (, “编码方式:”)
标准输出 (, 附件 [附件索引数].取编码方式 ())
标准输出 (, #换行符)标准输出 (, “附件数据的大小:”)
标准输出 (, 到文本 (取字节集长度 (附件 [附件索引数].取数据 ())))
标准输出 (, #换行符).子程序 取邮件
.参数 邮件索引数, 整数型
.局部变量 内容, 文本型
.局部变量 计次变量, 整数型标准输出 (, “第 ” + 到文本 (邮件索引数) + “ 个邮件信息” + #换行符)标准输出 (, “发件人名称:”)
标准输出 (, 邮件 [邮件索引数].取发件人名称 ())
标准输出 (, #换行符)标准输出 (, “主题:”)
标准输出 (, 邮件 [邮件索引数].取主题 ())
标准输出 (, #换行符)标准输出 (, “日期:”)
标准输出 (, 到文本 (邮件 [邮件索引数].取日期 ()))
标准输出 (, #换行符)标准输出 (, “发件人地址:”)
标准输出 (, 邮件 [邮件索引数].取发件人地址 ())
标准输出 (, #换行符)标准输出 (, “回复地址:”)
标准输出 (, 邮件 [邮件索引数].取回复地址 ())
标准输出 (, #换行符)标准输出 (, “邮件大小:”)
标准输出 (, 到文本 (邮件大小 [邮件索引数]))
标准输出 (, #换行符)标准输出 (, “邮件序号:”)
标准输出 (, 邮件序号组 [邮件索引数])
标准输出 (, #换行符)标准输出 (, “原始信息长度:”)
标准输出 (, 到文本 (取文本长度 (邮件 [邮件索引数].取原始信息 ())))
标准输出 (, #换行符)标准输出 (, “文本内容:”)
内容 = 邮件 [邮件索引数].取文本内容 ()
标准输出 (, 内容 + #换行符)标准输出 (, “保存超文本文件”)
超文本内容 (邮件索引数)
标准输出 (, #换行符)标准输出 (, “附件个数 :”)
附件个数 = 邮件 [邮件索引数].取附件个数 ()
标准输出 (, 到文本 (附件个数))
标准输出 (, #换行符)
.如果真 (是否快速浏览 = 假)
标准输出 (, #换行符)
附件 = 邮件 [邮件索引数].取附件 ()
.计次循环首 (取数组成员数 (附件), 计次变量)
取附件信息 (计次变量)
.计次循环尾 ()
选择保存附件 (邮件索引数)
标准输出 (, #换行符)
邮件信息 ()
.如果真结束
.子程序 选择保存附件
.参数 选择附件索引, 整数型
.局部变量 附件次序号, 整数型标准输出 (, “是否需要保存附件(Y/N)”)
.如果 (取代码 (标准输入 (), 1) = 121)
标准输出 (, “请输入要保存的附件次序号:”)
附件次序号 = 到数值 (标准输入 (真))
.如果真 (附件次序号 ≥ 1 且 附件次序号 ≤ 附件个数)
保存附件 (附件次序号)
.如果真结束.否则
删除子程序 (选择附件索引)
.如果结束
.子程序 删除子程序
.参数 索引
.局部变量 是否删除, 文本型标准输出 (, “是否要删除该邮件(Y/N)”)
是否删除 = 标准输入 (真)
.如果真 (取代码 (是否删除, 1) = 121)
连接收信服务器 (登陆信息 [1], 到数值 (登陆信息 [2]), 登陆信息 [3], 登陆信息 [4], 到数值 (登陆信息 [5]), 到数值 (登陆信息 [6]))
.如果 (删除邮件 (索引) = 真)
标准输出 (, “删除成功”)
.否则
标准输出 (, “删除失败”)
.如果结束.如果真结束
邮件复位 ().子程序 快速浏览
.局部变量 计次变量, 整数型.计次循环首 (取数组成员数 (邮件), 计次变量)
取邮件 (计次变量)
删除子程序 (计次变量)
标准输出 (, #换行符)
.计次循环尾 ().子程序 保存附件
.参数 保存索引, 整数型
.局部变量 文件名, 文本型
.局部变量 文件号, 整数型.如果 (附件 [保存索引].取是否嵌入式附件 () = 真)
文件名 = 附件 [保存索引].取名称 ()
.否则
文件名 = 附件 [保存索引].取文件名 ()
.如果结束
标准输出 (, “请输入要保存到的路径,以” + #引号 + “ \” + #引号 + “结束:”)
文件号 = 打开文件 (标准输入 (真) + 文件名, #重写, )
.如果 (插入字节集 (文件号, 附件 [保存索引].取数据 ()) = 真)
标准输出 (, “保存成功”)
.否则
标准输出 (, “保存失败”)
.如果结束
关闭文件 (文件号)
标准输出 (, #换行符).子程序 邮件复位标准输出 (, #换行符)
标准输出 (, “需要恢复被删除的邮件吗?(Y/N)”)
.如果真 (取代码 (标准输入 (), ) = 121)
.如果 (复位邮件 () = 真)
标准输出 (, “复位成功,”)
标准输出 (, “删除的邮件被恢复”)
.否则
标准输出 (, “复位失败”)
.如果结束.如果真结束
.子程序 超文本内容
.参数 索引, 整数型
.局部变量 计次变量, 整数型
.局部变量 文件号, 整数型
.局部变量 临时文件, 文本型标准输出 (, “请输入临时浏览超文本文件的路径,以” + #引号 + “ \” + #引号 + “结束:”)
临时文件 = 标准输入 ()
文件号 = 打开文件 (临时文件 + “临时浏览.html”, #重写, ) ' 创建要浏览的超文本内容的网页文件
插入文本 (文件号, 邮件 [索引].取超文本内容 ())
关闭文件 (文件号)
.计次循环首 (邮件 [索引].取附件个数 (), 计次变量)
.如果真 (附件 [计次变量].取是否嵌入式附件 ())
文件号 = 打开文件 (临时文件 + 附件 [计次变量].取名称 (), #重写, ) ' 创建要浏览的超文本网页的附件文件
插入字节集 (文件号, 附件 [计次变量].取数据 ())
关闭文件 (文件号)
.如果真结束.计次循环尾 ().子程序 回调函数, 逻辑型
.参数 类型, 整数型
.参数 第几封, 整数型
.参数 字节数, 整数型.判断开始 (#命令类型.验证用户名 = 类型)
标准输出 (, “验证用户信息”)
.默认.判断结束
返回 (真)
这个功能要装上WINDOWS
NT
OPTON
PACK
的SMTP
SERVICE。
首先
Set
=
Server.CreateObject("CDONTS.NewMail")以呼叫SMTP
Service的元件,然后设定:
mail.To
=
"收件者E-Mail地址"
mail.From
=
"寄件者的E-Mail地址"
mail.Subject
=
"主旨"
mail.Body
=
"E-mail内文"
最后Mail.Send即开始发送邮件。
例如:
%
Set
=
Server.CreateObject("CDONTS.NewMail")
mail.TO
=
"abc@xxx.com"
mail.From
=
"yourmail@xxx.com"
mail.Subject
=
"主题"
mail.Body
=
"E-Mail内容"
mail.Send
%
[邮件索引数]))标准输出 (, #换行符)标准输出 (, “邮件序号:”)标准输出 (, 邮件序号组 [邮件索引数])标准输出 (, #换行符)标准输出 (, “原始信息长度:”)标准输出 (,
3] = 文本变量标准输出 (, “请输入密码:”)文本变量 = 标准输入 (真)登陆信息 [4] = 文本变量标准输出 (, “请输入等待时间(毫秒):”)文本变量 = 标准输入 (真)登陆信息 [5]