敬业的IT人 >> 编程开发 >> PowerBuilder >> 在PB应用中收发电子邮件

在PB应用中收发电子邮件

敬业的IT人 互联网 佚名 2008-1-4 12:19:16

  随着Internet进入千家万户,通过Internet收发 电子邮件将成为人们最受欢迎的通讯手段之一。如果我们的应用程序也能够提供收发电子 邮件的功能,就可以使我们方便快捷地与他人交换和共享应用的数据和信息,使其应用真 正地溶合于Internet这个大环境。下面我介绍一下在PowerBuild应用中实现收发电子邮件 的方法。

  在PowerBuild应用中实现收发电子邮件,主要是 通过PowerBuild系统提供的一套用于邮件操作的内嵌函数。这些函数实现其应用到微软公 司的MAPI(MessageApplicationProgramInterface)标准之间的接口。

  一、作为举例,创建一个MDI风格的窗口w_mail。在 这个窗口上,放置一个含接收邮件、发送邮件和地址薄三个带图标的菜单项的菜单m_mail, 一个多行编辑器mle_1。整个窗口的外观如下:

  [图略]

  二、为各菜单项编制事件(Event)处理程序(Script)。 程序行中//后的为说明文字。

  1.在菜单项“接收邮件”的单击(Clicked)事件下 输入下面程序:

mailsessionmses//定义对象mses,以供在程序中引用mailmessagemmsg//定义结构mmsg,此结构用于描述邮件的内容mailrecipientmrec//定义结构mrec,它标识邮件的接收者和发送者mailreturncodemreturn//定义返回码,用于存放函数的返回值intmnbr//定义临时变量//产生邮件会话对象msesmses=createmailsession//邮件登录。此处用户名,口令缺省mreturn=mses.maillogon(mailnewsession!)ifmreturn<>mailreturnsuccess!Thenmessagebox("邮件登录","邮件登录失败!")returnendif//获得接收到尚未读过的邮件ID号。它是放在mses中的一个字符串数组mreturn=mses.mailgetmessages(true)ifmreturn<>mailreturnsuccess!thenmessagebox("邮件获取","邮件获取失败或无新邮件!")returnendif//获得接收到尚未读过的邮件数目mnbr=upperbound(mses.messageid[])//读取最后接收到的邮件内容。它被放在mmsg的notetext的字符串字段中mses.mailreadmessage(mses.messageid[mnbr],mmsg,mailentiremessage!,true)//把获得的邮件内容放到窗口w_mai1上的多行编辑器mle_1中w_mai1.mle_1.text=mmsg.notetext//退出登录mses.maillogoff()//取消邮件会话destroymses

  2.在菜单项“发送邮件”的单击(Clicked)事件下 输入下面程序:

mailsessionmsesmailmessagemmsgmailreturncodemreturn//产生邮件会话对象msesmses=cr   emailsession//邮件登录mreturn=mses.maillogon(mailnewsession!)ifmreturn<>mailreturnsuccess!thenmessagebox("邮件登录","邮件登录失败!")returnendif//弹出邮件地址窗口,获取邮件接收者的地址。地址及名字是放在mmsg中的一个结构数组mreturn=mses.mailaddress(mmsg)ifmreturn<>mailreturnsuccess!thenmessagebox("邮件地址","邮件地址出错!")returnendif//把窗口w_mai1上的多行编辑器mle_1中的内容放到mmsg的notetext字段中mmsg.notetext=w_mai1.mle_1.text//发送邮件mreturn=mses.mailsend(mmsg)ifmreturn<>mailreturnsuccess!thenmessagebox("邮件发送","邮件发送失败!")returnelsemessagebox("邮件发送","邮件发送成功!")endif//退出登录mses.maillogoff()//取消邮件会话destroymses

  3.在菜单项“地址簿”的单击(Clicked)事件下输入程序:

mailsessionmsesmailmessagemmsgmailreturncodemreturn//产生邮件会话对象msesmses=createmailsession//邮件登录mreturn=mses.maillogon(mailnewsession!)ifmreturn<>mailreturnsuccess!thenmessagebox("邮件登录","邮件登录失败!")returnendif//弹出邮件地址窗口,获取邮件接收者的地址mreturn=mses.mailaddress(mmsg)ifmreturn<>mailreturnsuccess!thenmessagebox("邮件地址","邮件地址出错!")returnendif//退出登录mses.maillogoff()//取消邮件会话destroymses

  三、执行程序。正常执行程序的前提是,在Powerbuild 应用所在的机器上已装有MicrosoftMail客户软件。

  1.单击“接收邮件”菜单项或工具图标,执行接收 邮件处理程序。该程序将最后接收到尚未读过的邮件内容显示到窗口的多行编辑器中。

如果把mreturn=mses.mailgetmessages(true)改为:mreturn=mses.mailgetmessages()便可获得全部邮件(包含已读过的邮件)。

  2.单击“发送邮件”菜单项或工具图标,执行发送 邮件处理程序。该程序执行过程中,弹出地址簿窗口,在你选择好接收者后,则将窗口的多 行编辑器中的内容发送出去。

  3.单击“地址簿”菜单项或工具图标,执行地址簿 处理程序。该程序弹出通讯簿窗口,供你增加、编辑或删除邮件地址属性。

粤ICP备06119539号
Copyright CiscoSky.Org,Some Rights Reserved.
Email:me1228#tom.com