使用powerbuilder实现邮箱发送

首先MyMail.dll文件,这个在网上找一大推。
然后引入
function int MyUtil_POP3_Connect(string host,int port,string UserId,string PassWord,string AttachPath) library “MyMail.dll” alias for “MyUtil_POP3_Connect;ansi”
Function int MyUtil_POP3_Disconnect() library “MyMail.dll”
Function int MyUtil_POP3_Msg_GetInfo(int i_type,int i_sub_type, ref string as_text) library “MyMail.dll” alias for “MyUtil_POP3_Msg_GetInfo;ansi”

function int MyUtil_SMTP_Connect(string host,int port,string UserId,string PassWord) library “MyMail.dll” alias for “MyUtil_SMTP_Connect;ansi”
function int MyUtil_SMTP_Msg_Init() library “MyMail.dll”
function int MyUtil_SMTP_Disconnect() library “MyMail.dll”
function int MyUtil_SMTP_Msg_SetInfo(int i_type,int i_sub_type,string as_text) library “MyMail.dll” alias for “MyUtil_SMTP_Msg_SetInfo;ansi”
function int MyUtil_SMTP_Msg_Send() library “MyMail.dll” alias for “MyUtil_SMTP_Msg_Send;ansi”

下面是代码
string host,uid,pwd
int port,ret
host=“xxxxx.com” //服务器名
uid=“xxx@xx.com” //发件人登陆发件服务器时的用户名
pwd=“123456” //发件人登陆发件服务器时的密码
port=25 //发送服务器的smtp端口号,没改的话一般是25

//邮件初始化
if MyUtil_SMTP_Msg_Init()<0 then
MessageBox(gs_title,“邮件初始化失败”);
end if

//发送者邮箱
if MyUtil_SMTP_Msg_SetInfo(1,1,“xxx@xx.com”)<0 then
MessageBox(“info”,“发送者邮箱有误”)
end if

//发送者名称
if MyUtil_SMTP_Msg_SetInfo(1,2,“XX”)<0 then
MessageBox(gs_title,“发送者名称有误”)
end if

//接收邮箱
string ls_recvmail
ls_recvmail = “xxx@xx.com”
if MyUtil_SMTP_Msg_SetInfo(2,1,ls_recvmail)<0 then
MessageBox(“info”,“接收者邮箱有误”)
end if

//邮件标题
string ls_title
ls_title = “测试邮件标题!”
if MyUtil_SMTP_Msg_SetInfo(3,1,“测试测试”)<0 then
MessageBox(“info”,“填写标题失败”)
end if

//正文
if MyUtil_SMTP_Msg_SetInfo(5,1,“这是邮件的正文!”)<0 then
MessageBox(“info”,“填写正文失败”)
end if
//正文换行
if MyUtil_SMTP_Msg_SetInfo(5,1,“这是邮件的正文!”)<0 then
MessageBox(“info”,“填写正文失败”)
end if

//附件
if MyUtil_SMTP_Msg_SetInfo(6,1,“C:\Users\Administrator\Desktop\测试发送.xlsx”)<0 then
MessageBox(“info”,“附件新增失败”)
end if

//if MyUtil_SMTP_Connect(host,port,uid,pwd)<0 then
//messageBox(“info”,“connect Failed”)
//end if
//连接邮箱
if MyUtil_SMTP_Connect(host,port,uid,pwd)<0 then
messageBox(“info”,“连接失败”)
end if

if MyUtil_SMTP_Msg_Send()<0 then
MessageBox(gs_title,“发送失败”)
ELSE
Messagebox(gs_title,“发送成功!”)
end if

if MyUtil_SMTP_Disconnect()<0 then
MessageBox(“info”,“切断连接失败”)
end if

最后接收者的邮箱会接收到你发送的信息啦!!!

申明Local External Functions: function int MyUtil_SMTP_Connect(string host,int port,string UserId,string PassWord) library "MyMail.dll" function int MyUtil_SMTP_Disconnect() library "MyMail.dll" function int MyUtil_SMTP_Msg_Init() library "MyMail.dll" function int MyUtil_SMTP_Msg_SetInfo(int i_type,int i_sub_type,string as_text) library "MyMail.dll" function int MyUtil_SMTP_Msg_Send() library "MyMail.dll" 发送代码: //使用例程: string ls_host,ls_user,ls_pwd,ls_mail_to,ls_mail_cc,& ls_subject,ls_text,ls_mail_fr,ls_attach int li_port,li_ret ls_host=trim(sle_host.text) //服务器名 ls_user=trim(sle_user.text) //发件人登陆发件服务器时的用户名 ls_pwd=trim(sle_password.text) //发件人登陆发件服务器时的密码 li_port=integer(sle_port.text) //发送服务器的smtp端口号,没改的话一般是25 ls_mail_to=trim(sle_mail_to.text)//接收人email地址 ls_mail_cc=trim(sle_mail_cc.text)//抄送,好像有点问题,我没有成功 ls_subject=sle_subject.text //主题 ls_mail_fr=trim(sle_mail_fr.text) //发件人 ls_text=mle_text.text //正文 ls_attach=trim(sle_attach.text) //附件,多个的话要分开 setpointer(hourglass!) //邮件初始化: if MyUtil_SMTP_Msg_Init()<0 then MessageBox("info","初始化失败!!!"); end if if MyUtil_SMTP_Msg_SetInfo(1,1,ls_mail_fr)<0 then MessageBox("info","设置发送者信息出错!!!") end if if MyUtil_SMTP_Msg_SetInfo(1,2,ls_user)<0 then MessageBox("info","设置发送者名称出错!!!") end if if MyUtil_SMTP_Msg_SetInfo(2,1,ls_mail_to)<0 then MessageBox("info","设置接收者地址出错!!!") end if //if MyUtil_SMTP_Msg_SetInfo(2,1,ls_mail_cc)<0 then //MessageBox("info","设置接收者地址出错!!!") //end if if MyUtil_SMTP_Msg_SetInfo(3,1,ls_subject)<0 then MessageBox("info","设置主题出错!!!") end if if MyUtil_SMTP_Msg_SetInfo(5,1,ls_text)<0 then MessageBox("info","设置正文失败!!!") end if if MyUtil_SMTP_Msg_SetInfo(6,1,ls_attach)<0 then MessageBox("info","设置附件名称出错!!!") end if if MyUtil_SMTP_Connect(ls_host,li_port,ls_user,ls_pwd)<0 then messageBox("info","连接失败!") end if if MyUtil_SMTP_Msg_Send()<0 then MessageBox("info","发送失败!") else Messagebox('Info','发送成功!') FileDelete ( ls_attach ) end if if MyUtil_SMTP_Disconnect()<0 then MessageBox("info","断开失败!!!") end if setpointer(arrow!)
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值