用PB编写邮件应用程序
添加时间: 2006-2-21 21:10:49 作者: PowerBuilder教程 阅读次数:772 来源: http://www.d9soft.com
由于受到强大数据库功能的掩盖,PB的邮件功能鲜为人知。在VB中可以轻松地利用CDO控件发邮件(Delphi中用NMSMTP),而PB中的邮件函数比它们更灵活、方便。
PB以其独特高效的数据库访问技术,赢得了广大程序员的青睐。从表面上看,它似乎只适合于开发数据库应用程序,而事实上,PB遵照信报接口MAPI的标准,开发了许多内部函数和数据结构,用于对电子邮件提供支持,因此也是一个相当不错的邮件应用程序开发工具。
一个邮件应用程序要处理的基本事务主要包括:登录到邮件服务器开始会话、接发邮件、结束邮件会话。在PB中,所有这些事务都围绕mailSession对象来展开,因此,编程时,需要在主窗口中定义一个该类型的实例变量:
mailSession MyMail
然后在Open事件中将其初始化:
MyMail=Create mailSession
MyMail经过初始化以后,还要用mailLogon命令将其连接到一个邮件服务器:
MyMail.mailLogon(′jq75′,′alexander′,mailNewSessionWithDownLoad!)
前两个参数分别为用户名和口令,若被忽略,运行时就会出现一个注册对话框。最后一个参数表示新建一个邮件会话,并将服务器上属于jq75的邮件下载到他的收件箱中。

图1
用户信息在服务器上通过验证以后,一个有效的邮件会话就建立了,接下来要做的工作就是接发邮件。
PB用一个mailMessage对象来描述一封邮件,该对象封装了邮件的主题、地址、消息体和附件等信息。图1是邮件应用程序的阅读界面,它列出了收件箱中的所有邮件,可选择其中一封进行阅读。主窗口Open事件的代码为:
|
…… //连接到邮件服务器 并将其主题添加到列表框中 PathName+″~r~n″ |
在“附件”按钮的Clicked事件中加入下列代码:
图2是邮件应用程序的发送界面,它接收收件人地址、邮件主题、消息体和附件,用于填充一个mailMessage类型的对象msg,然后发送。“添加附件”按钮用于选择磁盘文件,其Clicked事件代码为:

图2
|
String docName, Named ″DOC″, ″All Files (*.*),*.*″) 其Clicked事件代码为: //附件i的完整文件名 |
4.结束邮件会话
在“退出”按钮的Clicked事件中加入下列代码:
| MyMail.mailLogoff() //结束邮件会话 Destroy MyMail //销毁会话对象 |
至此,一个简单的邮件应用程序就编好了,它虽然还不足以和FoxMail、Outlook相媲美,但已经具备了它们最基本的功能。
例子中的程序在PB6.5中调试通过,大部分代码可以直接利用。
上一篇文章: 用PB生成GUID解决主键重复 下一篇文章: PB的可执行文件所需的环境DLL
相关文章:

