操作系统  办公  实用知识  设计  开发  WEB开发  移动开发  数据库  软件工程  网管  安全  管理  信息化  答疑  渠道 

在PB应用中收发电子邮件

2006-9-30 网友评论 0 条 点击进入论坛

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

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

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

[图略]

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

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

mailsessionmses
file://定义对象mses,以供在程序中引用
mailmessagemmsg
//定义结构mmsg,此结构用于描述邮件的内容
mailrecipientmrec
//定义结构mrec,它标识邮件的接收者和发送者
mailreturncodemreturn
//定义返回码,用于存放函数的返回值
intmnbr
//定义临时变量
//产生邮件会话对象mses
mses=createmailsession
//邮件登录。此处用户名,口令缺省
mreturn=mses.maillogon(mailnewsession!)
ifmreturn<>mailreturnsuccess!Then
messagebox("邮件登录","邮件登录失败!")
return
endif
//获得接收到尚未读过的邮件ID号。
它是放在mses中的一个字符串数组
mreturn=mses.mailgetmessages(true)
ifmreturn<>mailreturnsuccess!then
messagebox("邮件获取","邮件获取失败或无新邮件!")
return
endif
//获得接收到尚未读过的邮件数目
mnbr=upperbound(mses.messageid[])
file://读取最后接收到的邮件内容。
它被放在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)事件下输入下面程序:

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

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

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

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

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

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

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

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

已有 0 位对此文章感兴趣的网友发布了看法    
我来评两句 登录邮箱: 密码:
  匿名发表
今日推荐
技术文库(共有 46732 篇文章)
操作系统
办公软件
实用知识
网络管理
软件开发
WEB开发
软件工程
数据库
设计在线
信息安全
行业信息化
管理信息化
重点推荐
电子杂志订阅
点击电子杂志名称查看样刊
输入E-mail地址即可订阅
E-mail