在PB应用中收发电子邮件在线教程
一、创建一个MDI风格的窗口w_mail
在这个窗口上,放置一个含接收邮件、发送邮件和地址薄三个带图标的菜单项的菜单m_mail,一个多行编辑器mle_1。
二、为各菜单项编制事件处理程序(Script)
程序行中//后的为说明文字。
1. 在菜单项"接收邮件"的单击(Clicked)事件下输入下面程序:
mailsession mses
file://定义对象mses,以供在程序中引用
mailmessage mmsg
file://定义结构mmsg,此结构用于描述邮件的内容
mailrecipient mrec
file://定义结构mrec,它标识邮件的接收者和发送者
mailreturncode mreturn
file://定义返回码,用于存放函数的返回值
int mnbr
file://定义临时变量
file://产生邮件会话对象mses
mses = create mailsession
file://邮件登录。此处用户名,口令缺省
mreturn = mses.maillogon(mailnewsession!)
if mreturn <> mailreturnsuccess! Then
messagebox("邮件登录","邮件登录失败!")
return
end if
file://获得接收到尚未读过的邮件ID号。它是放在mses中的一个字符串数组
mreturn = mses.mailgetmessages(true)
if mreturn <> mailreturnsuccess! then
messagebox("邮件获取","邮件获取失败或无新邮件!")
return
end if
file://获得接收到尚未读过的邮件数目
mnbr = upperbound(mses.messageid[])
file://读取最后接收到的邮件内容。它被放在mmsg的notetext的字符串字段中
mses.mailreadmessage(mses.messageid[mnbr],mmsg,mailentiremessage!,true)
file://把获得的邮件内容放到窗口w_mai1上的多行编辑器mle_1中
w_mai1.mle_1.text=mmsg.notetext
file://退出登录
mses.maillogoff()
file://取消邮件会话
destroy mses
2. 在菜单项"发送邮件"的单击(Clicked)事件下输入下面程序:
mailsession mses
mailmessage mmsg
mailreturncode mreturn
file://产生邮件会话对象mses
mses = create mailsession
file://邮件登录
mreturn = mses.maillogon(mailnewsession!)
if mreturn <> mailreturnsuccess! then
messagebox("邮件登录","邮件登录失败!")
return
end if
file://弹出邮件地址窗口,获取邮件接收者的地址。地址及名字是放在mmsg中的一个结构数组
mreturn = mses.mailaddress(mmsg)
if mreturn <> mailreturnsuccess! then
messagebox("邮件地址","邮件地址出错!")
return
end if
file://把窗口w_mai1上的多行编辑器mle_1中的内容放到mmsg的notetext字段中
mmsg.notetext = w_mai1.mle_1.text
file://发送邮件
mreturn = mses.mailsend(mmsg)
if mreturn <> mailreturnsuccess! then
messagebox("邮件发送","邮件发送失败!")
return
else
messagebox("邮件发送","邮件发送成功!")
end if
file://退出登录
mses.maillogoff()
file://取消邮件会话
destroy mses
3. 在菜单项"地址簿"的单击(Clicked)事件下输入程序:
mailsession mses
mailmessage mmsg
mailreturncode mreturn
file://产生邮件会话对象mses
mses = create mailsession
file://邮件登录
mreturn = mses.maillogon(mailnewsession!)
if mreturn <> mailreturnsuccess! then
messagebox("邮件登录","邮件登录失败!")
return
end if
file://弹出邮件地址窗口,获取邮件接收者的地址
mreturn = mses.mailaddress(mmsg)
if mreturn <> mailreturnsuccess! then
messagebox("邮件地址","邮件地址出错!")
return
end if
file://退出登录
mses.maillogoff()
file://取消邮件会话
destroy mses
三、执行程序
正常执行程序的前提是,在Powerbuild应用所在的机器上已装有Microsoft Mail客户软件。
1. 单击"接收邮件"菜单项或工具图标,执行接收邮件处理程序。该程序将最后接收到尚未读过的邮件内容显示到窗口的多行编辑器中。
如果把mreturn = mses.mailgetmessages(true)改为:
mreturn = mses.mailgetmessages()
便可获得全部邮件(包含已读过的邮件)。
2. 单击"发送邮件"菜单项或工具图标,执行发送邮件处理程序。该程序执行过程中,弹出地址簿窗口,在你选择好接收者后,则将窗口的多行编辑器中的内容发送出去。
3. 单击"地址簿"菜单项或工具图标,执行地址簿处理程序。该程序弹出通讯簿窗口,供你增加、编辑或删除邮件地址属性。