• 网络学院
  • 新手学堂
  • 操作系统
  • 网络技术
  • 软件应用
  • 办公软件
  • 编程技术
  • 网站架设
  • 数据库类
  • 平面设计
  • 多媒体类
  • 游戏资讯
  • 教学论文
  • 认证考试
用PB编写邮件应用程序
广告位
  站点:
  • 首 页
  • 最新软件
  • 最新文章
  • 国内软件
  • 国外软件
  • 汉化软件
  • 源码下载
  • 字体下载
用PB编写邮件应用程序
软件发布 用PB编写邮件应用程序
网络软件 系统工具 应用软件 联络聊天 图形图像 多媒体类 行业软件 游戏娱乐 编程开发 安全相关 教育教学 数码软件
热门软件: QQ 瑞星 pplive e话通 木马克星 千千静听 office2000 五笔字根 Photoshop 视频分割
返回首页 | 文章首页 | 编程技术 | PB教程 | 用PB编写邮件应用程序

用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

1.登录到邮件服务器

  MyMail经过初始化以后,还要用mailLogon命令将其连接到一个邮件服务器:

  MyMail.mailLogon(′jq75′,′alexander′,mailNewSessionWithDownLoad!)

  
  前两个参数分别为用户名和口令,若被忽略,运行时就会出现一个注册对话框。最后一个参数表示新建一个邮件会话,并将服务器上属于jq75的邮件下载到他的收件箱中。


图1
2.阅读邮件

  用户信息在服务器上通过验证以后,一个有效的邮件会话就建立了,接下来要做的工作就是接发邮件。

  PB用一个mailMessage对象来描述一封邮件,该对象封装了邮件的主题、地址、消息体和附件等信息。图1是邮件应用程序的阅读界面,它列出了收件箱中的所有邮件,可选择其中一封进行阅读。主窗口Open事件的代码为:

…… //连接到邮件服务器
MyMail.mailGetMessages()
//用收件箱中的邮件填充MyMail对象
iNum=UpperBound(MyMail.MessageID[])
//获取收件箱中的邮件数目
For i=1 To iNum //读取收件箱中的每一封邮件,

并将其主题添加到列表框中
MyMail.mailReadMessage(MyMail.MessageID[i],msg, mailEntireMessage!,True)
tab—1.tabpage—1.plb—1.AddItem(msg.Subject,1)
Next //msg为mailMessage类型的实例变量
在plb—1控件的SelectionChanged事件中加入下列代码:
MyMail.mailReadMessage(MyMail.MessageID[index],msg, mailEntireMessage!,True)
sle—1.Text=msg.Subject
//显示当前邮件的主题
sle—2.Text=msg. Recipient[1].Address
//显示发件人地址
sle—3.Text=msg.DateReceived
//显示收件时间
mle—1.text=msg.NoteText
//显示邮件的消息体
iAttachmentFileNum=UpperBound(msg.AttachmentFile[])
//获取当前邮件的附件数目
For i=1 To iAttachmentFileNum
strAttFile= strAttFile +msg.AttachmentFile[i].

PathName+″~r~n″
Next //strAttFile为String类型的实例变量



  在“附件”按钮的Clicked事件中加入下列代码:
3.发送邮件

  图2是邮件应用程序的发送界面,它接收收件人地址、邮件主题、消息体和附件,用于填充一个mailMessage类型的对象msg,然后发送。“添加附件”按钮用于选择磁盘文件,其Clicked事件代码为:


图2


String docName, Named
Integer Value
Value = GetFileOpenName(″选择附件″, docName, Named,

″DOC″, ″All Files (*.*),*.*″)
If Value = 1 Then
plb—2.AddItem(docName,1)
//docName中必须包含完整的路径信息
“删除附件”按钮用于把已添加的文件去掉,

其Clicked事件代码为:
Ind= plb—2.SelectedIndex()
If Ind〈〉-1 Then plb—2. DeleteItem(Ind)
“发送”按钮的Clicked事件代码为:
msg.Subject=sle_4.Text //邮件主题
msg.NoteText=mle—2.Text //消息体
msg.Recipient[1].RecipientType=mailTo!
//指定收件人类型为mailTo!
msg.Recipient[1].Address=′SMTP:′+sle—5.Text
//收件人地址,前面必须加上SMTP协议
For i=1 To plb—2.TotalItems()
//把选中的文件加到附件中
msg.AttachmentFile[i].FileType=mailAttach! //指定附件i的类型
msg.AttachmentFile[i].PathName= plb—2.Text(i)

//附件i的完整文件名
Next
MyMail.mailSend(msg) //发送邮件


4.结束邮件会话

  在“退出”按钮的Clicked事件中加入下列代码:

MyMail.mailLogoff() //结束邮件会话
Destroy MyMail //销毁会话对象


  至此,一个简单的邮件应用程序就编好了,它虽然还不足以和FoxMail、Outlook相媲美,但已经具备了它们最基本的功能。

  例子中的程序在PB6.5中调试通过,大部分代码可以直接利用。

 

 

 

上下文章:

 

上一篇文章: 用PB生成GUID解决主键重复 下一篇文章: PB的可执行文件所需的环境DLL

相关文章:

  • AV杀手变种强行关闭杀度软件与下载恶意程序
  • 电子邮件数据库系统危机重挫CIO上
  • 数据库人员手边系列:ORACLE应用源码
  • 编写一个接受变量的存储过程
  • Oracle平台应用数据库系统的设计与开发[上]

相关软件:

  • U-Mail V9.0 邮件服务器软件
  • 华娱网电影程序 v1.0版
  • 武汉娱乐网翻唱程序
  • 极限音乐网全站程序
  • 林州数码港FLASH程序
  • 中国电台网web程序

 

 

快速导航

  • 网络学院
  • 精品汇聚
  • 字体下载
  • 教程下载
  • ASP源码
  • PHP源码
  • Net源码
  • JSP 源码

编程技术分类导航

  • ASP & ASP.NET教程
  • PHP教程
  • JSP教程
  • C/C++教程
  • VB & VB.NET教程
  • VC教程
  • Delphi教程
  • BCB教程
  • VFP教程
  • PB教程
  • JAVA教程
  • XML教程
  • C#教程
  • CGI教程

本类经典文章推荐

  • 第一章 什么是PowerBuilder
  • 第二章 PowerBuilder 入门之创建新...
  • 第二章 PowerBuilder 入门之定义表...
  • 第二章 PowerBuilder 入门之向数据...
  • 第二章 PowerBuilder 入门之向表中...
  • 第二章 PowerBuilder 入门之创建第...
  • 第二章 PowerBuilder 入门之创建应...
  • 第二章 PowerBuilder 入门之创建第...
  • 第二章 PowerBuilder 入门之创建数...
  • 第二章 PowerBuilder 入门之运行应...

PB教程阅读排行

  • 第二章 PowerBuilder 入门之创建新...
  • 第一章 什么是PowerBuilder
  • 第二章 PowerBuilder 入门之定义表...
  • 第二章 PowerBuilder 入门之向数据...
  • 第二章 PowerBuilder 入门之创建第...
  • 第二章 PowerBuilder 入门之创建应...
  • 第二章 PowerBuilder 入门之向表中...
  • 第二章 PowerBuilder 入门之创建数...
  • 第二章 PowerBuilder 入门之运行应...
  • 第二章 PowerBuilder 入门之创建第...

编程技术阅读总排行

  • VB入门教程之一
  • 第二章 PowerBuilder 入门之创建新...
  • Java连接数据库实例
  • 第一章 什么是PowerBuilder
  • VC++之List Box/Check List Box控...
  • VC++ List Ctrl控件
  • VC++ Combo Box/Combo Box Ex控件
  • 学C++不得不看的一篇文章
  • VB入门教程之二
  • VC++之Button控件

广告位置

字母检索 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 回到顶部

关于我们 | 版权声明 | 免责条款 | 广告联系 | 软件发布 | 下载帮助 | 下载排行 | 网站地图 | 特别鸣谢 | 友情连接

copyright; 2005-2008 D9soft.com 第九软件网 版权所有