本文详细介绍PB使用jmail.dll发送电子邮件的方法
用到的第三方库jmail 及完整示例下载
链接:https://pan.baidu.com/s/1gc_f07cx-saxSZeAdkvApw
提取码:4hix
1、jmail注册
integer li_flag
string ls_value
li_flag = registryget('HKEY_CLASSES_ROOT\CLSID\{0D821067-FCF9-4704-9287-0D8F76FE6513}\ProgID','',regstring!,ls_value)
if li_flag = -1 then
DllRegisterServer()
end if
2、发送方法
int i
string ls_address[]
string ls_attachment[]
boolean lb_return
oleobject lole_jmail
if not of_check() then return
lole_jmail = create oleobject
lole_jmail.ConnectToNewObject("Jmail.Message")
lole_jmail.Charset = "GB2312"
lole_jmail.ISOEncodeHeaders = true
lole_jmail.silent = true
lole_jmail.Logging = true
lole_jmail.From = is_from_addr //显示在邮件中
lole_jmail.FromName = is_from_name //发件人名称
lole_jmail.Subject = as_subject //邮件标题
lole_jmail.MailServerUserName = is_from_addr //发件箱登录名
lole_jmail.MailServerPassword = is_pwd //发件邮箱用户密码
ls_address = of_split(as_receive_addr,'|') //收件人
for i = 1 to upperbound(ls_address)
lole_jmail.AddRecipient(ls_address[i])
next
ls_attachment = of_split(as_attachment,'|') //附件
for i = 1 to upperbound(ls_attachment)
lole_jmail.addattachment(ls_attachment[i])
messagebox('',ls_attachment[i])
next
lole_jmail.Priority = 3 //优先级
lole_jmail.Body = as_content //邮件内容
if lole_jmail.Send(is_smtp) then
messagebox("",'邮件发送成功!')
else
messagebox("",'邮件发送失败!')
end if
lole_jmail.Close()
destroy lole_jmail
一共需要传入8个参数:
as_smtp 邮箱服务器地址
as_from_addr 发件箱账号
as_pwd 发件箱密码
as_from_name 发件人名称
as_receive_addr 收件人邮箱地址,多个地址用'|'分割
as_subject 邮件标题
as_content 邮件正文内容
as_attachment 附件路径 多文件用'|'分割