用PB收发邮件

开发 专栏收录该内容
1 篇文章 0 订阅

由于受到强大数据库功能的掩盖,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事件中加入下列代码:  

  MessageBox(″邮件附件″,   strAttFile)   //显示当前邮件的附件及其在硬盘上存放的位置  

  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中调试通过,大部分代码可以直接利用。
  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

pb案例开发集锦,适合初学者学习,有经验也可以看看,里头有很多巧妙的应。我在这里列出所有的目录。 源程序使说明一、功能 本光碟中提供了与图书完全一致的程序源代码和编译好的可执行文件,读者可以直接执行这些可执行文件,以便更加直观的体会案例运行的效果;如果想进一步研究案例的源代码,可以将相应文件夹下的文件在PowerBuilder10.0开发环境中打开,然后编译运行。二、内容 本光碟中包含图书中的每个案例的源代码、可执行文件和所有资源文件,具体组织结构如下: 第1章 窗体与控件 案例1 创建应、窗口与控件 案例2 目录浏览器 案例3 文件浏览器 案例4 图片浏览器 案例5 户密码验证 案例6 等待窗口 案例7 使滚动条 案例8 使进度条 案例9 电子时钟 案例10 修改系统时间 案例11 颜色对话框 案例12 IP地址编辑框 案例13 人民币大小写金额的转换 第2章 菜单与MDI窗口 案例1 创建窗口菜单 案例2 带底图的MDI窗口 案例3 带浮动图标的工具栏 案例4 隐藏和显示任务栏 案例5 右键菜单 案例6 调HtmlHelp文件 案例7 动态打开窗口 案例8 记事本 第3章 数据处理基础 案例1 创建数据库 案例2 设置表格颜色 案例3 比例图显示数据 案例4 动态设置数据窗口风格 案例5 使选项卡 案例6 使下拉子数据窗口 案例7 动态设立数据窗口 案例8 在窗口中编辑数据 案例9 学生学号排序 案例10 数据窗口排序 案例11 利DataStore共享数据 案例12 关联与条件查询 案例13 数据查询 案例14 模糊查询 案例15 键盘模拟器 案例16 将数据保存到Word文件中 案例17 将数据保存到Excel文件中 第4章 数据库高级操作 案例1 定义数据窗口的检索参数 案例2 窗口之间传递函数 案例3 在SQL查询中使变量 案例4 在Grid类型报表的Header区增加文字标题 案例5 使动态SQL查询数据 案例6 两种不同查询方法的比较 案例7 外部数据源窗口的使 案例8 更新由多个表生成的数据窗口 案例9 把数据窗口信息存为Html格式文件 案例10 数据窗口查询模式的应 案例11 数据窗口的树形视图表示 案例12 数据窗口中实现字段的组合 案例13 数据窗口中的数据共享 第5章 网络与通信 案例1 Ping指定IP地址范围内的计算机 案例2 实现串口通信 案例3 制作收发电子邮件程序 案例4 使组件收发电子邮件 案例5 Web服务器程序 案例6 调WinFax发送传真 案例7 超级链接的制作 案例8 使超级链接控件 案例9 获取本机名和IP地址 案例10 使多线程下载网页 案例11 Socket通信客户端 案例12 Socket通信服务器端 案例13 FTP客户程序 第6章 API函数的应 案例1 使API函数实现透明窗体 案例2 制作位图菜单 案例3 控制窗口 案例4 获得系统信息 案例5 创建文件和目录 案例6 显示和设置时间 第7章 报表打印
目 录 第1部分 API函数调 实例1 使动态链接库扩展PowerBuilder 实例2 任务状态区图标的创建 实例3 使API 函数的磁盘卷标 实例4 透明图像的绘制 实例5 PowerBuilder实现拨号 实例6 无标题栏窗口的拖动 实例7 PowerBuilder加载控制面板应程序 实例8 PowerBuilder打开Windows标准对话框 实例9 Power Builder实现位图菜单 第2部分 户界面设计 实例10 PowerBuilder的日期录入 实例11 在 PowerBuilder窗体中使ActiveX控件 实例12 阴历日期转换实现 实例13 渐变的Splash窗体实现 实例14 XP风格的按钮实现 实例15 拾色器的实现 实例16 XP风格的进度条 实例17 位图按钮 实例18 文件操作 实例19 MSN风格消息框 实例20 Microsoft Agent 控件使 实例21 渐变色类的实现 实例22 抓图工具的实现 实例23 MP3播放器的实现 实例24 AVI播放器的实现 实例25 CD播放器的实现 实例26 透明窗口的实现 实例27 状态栏的使 实例28 日期时间控件使 实例29 使ActiveBar创建户界面 实例30 OutlookBar 界面实现 实例31 界面设计综合举例 第3部分 辅助程序功能设计 实例32 使API函数实现辅助功能 实例33 CRC校验码的使 实例34 输入法的枚举 实例35 人民币大小写金额的转换 实例36 数据的压缩和解压缩 实例37 图像扫描实现 实例38 Flash动画的应 实例39 键盘模拟器的实现 实例40 AresButtonPro控件的使 第4部分 网络和通信开发 实例41 局域网短消息的发送 实例42 Ping的实现 实例43 FTP客户端的实现 实例44 FAX的发送 实例45 PowerTCP 控件的使 实例46 使Windows API实现串行通信 实例47 PowerBuilder实现的邮件发送和接收 实例48 INet对象和WebBrowser控件的使 实例49 使MediaPlayer和RealPlayerG2播放流媒体 第5部分 数据窗口 实例50 数据库排序 实例51 数据库与图像的存取 实例52 数据库下拉树控件的实现 实例53 数据窗口导入到Excel表中 实例54 人民币声音拼写检查 实例55 数据窗口中回车键的处理 实例56 使模板实现数据窗口输出到word文档 实例57 PSR浏览器的实现 实例58 使PowerBuilder实现ODBC的自动配置 实例59 条形码在PowerBuilder中的应 实例60 在PowerBuilder中使数据管道 实例61 数据窗口与图表处理 实例62 实现数据窗口输出到HTML网页中 实例63 游标的使 实例64 动态创建数据窗口 实例65 数据窗口间的数据传递
企业通迅PBEIM2010 产品介绍文档 Ver 2.1 一、PBEIM2010简介 企业即时通讯(Enterprise Instant Messaging)简称EIM。企业即时通讯是自2003年国内RTX的诞生进入了起步阶段,在经历了五年的发展时期后,目前的市场长已经是群雄割据。与公众即时通讯不同的是帐号由企业注册完成后分配给员工的,且以即时通讯为基础贯穿多种办公平台的应,走的是平台化路线,而PBEIM是由PowerBuilder代码编写。 二、PBEIM2010 基本功能 1、企业统一的通迅工具: EIM在企业通讯功能上提供了全面、丰富、便捷、易的企业通迅功能(如:即时文字、图文、语音、视频通迅等、对外网站即时通讯客服等,同时还包括文件传送、离线文件传送。文件共享、在线截图、短信发送、多人视频语音会议等),从而保障企业内外沟通畅通、即时,帮助企业降低沟通成本、促进发展。 2、企业软件融合体: 如:协同工作、在线客服、视频会议、OA、CRM、ERP等能够无缝的集成在EIM功能栏。方便的将企业所需的软件系统或管理系统统一集成到一个平台。利EIM即时通迅工具的下推能力大大提升企业信息化管理的实时性、共享性、统一性、系统性和全面性,从而提升企业的工作效率的管理效率。 3、量身定制: 据企业的要求、企业可免费量身定制自己的企业通迅;包括修改LOGO、模块定制开发等。 三、PBEIM2010 特色功能介绍 1、企业手机信 EIM通迅集成手机短信、短信发送支持移动、联通手机短信双向收发,提供短信发送历史保存和查询。支持短信群发,可以向部门、讨论组成员群发短信。 2、文件发送接收 EIM提供了一个完全开放的超大共享空间,并支持点对点的数据传输方式。 EIM成员之间可以分享所有的资源。之不尽的空间,超强的数据传输功能,使你随心所欲的传送和接收大量的资料文件。 3、信息安全性 在消息的传递过程中,EIM提供了端对端的数据加密传输,全面防止网络窃听,确保信息的安全。 4、办公集成 如:协同工作、在线客服、视频会议、OA、CRM、ERP等能够无缝的集成在EIM功能栏。方便的将企业所需的软件系统或管理系统统一集成到一个平台。利EIM即时通迅工具的下推能力大大提升企业信息化管理的实时性、共享性、统一性、系统性和全面性,从而提升企业的工作效率的管理效率。 在EIM管理器里,IT管理员可通过指定部门、人员,来记录某人员或某些人员的对话信息,并可按照时间顺序查看某人员与其他人员的对话通讯内容。 5、高清视频 高清晰视频高清晰的视频图像,640*480的大分辨率显示,让视频通话身临其境,更支持全屏显示,满足视频会议的特殊要求。 (根据客户需求定制) 6、个人备忘录 提供完善的网络个人备忘录。并且有定时、周期性提醒功能。提醒功能可实现EIM即时通迅、手机短信到时提醒。提升工作效率。 7、自动更新 只要在客户端进行设置,则客户端户可以进行相应的文件更新,自动得以升级,随时获取最新功能 8、讨论组语音聊天 讨论组支持无限人同时进行语音聊天,在空间条件限制的情况下也能进行实时沟通,并且不支付任何通话费。在多人语音聊天室,还能够进行文本图片消息聊天。实现简单网络语音会议。文件 9、文件夹发送 可以一次性将整个文件夹发送。再也不麻烦的打包压缩,接收人收到之后还需要解压缩等烦锁过程。 10、支持离线文件、离线语音、离线视频 可以一次性将整个文件夹发送。再也不麻烦的打包压缩,接收人收到之后还需要解压缩等烦锁过程。 四、为什么不能QQ、MSN等个人通迅做为企业通迅沟通的原因。 如果把个人即时通讯带到公司内部使,就会发现存在很多问题。目前个人通讯系统存在着以下问题: 1、工作效率的降低:因员工将即时通讯软件作私人使,加上公司无法对合法使及非法使有效分别,以致员工上班聊天,影响工作效率。 2、机密资料外流的风险:即时通讯软件的文字及档案传送功能比电子邮件系统快速,使公司面临更大的挑战。 3、信息安全上的风险:经由即时通讯软件传到公司内部的文件资料,可能包含病毒及有害的程序代码,将有可能造成公司严重的信息安全问题。 4、与日常工作的偏差:目前的 IM 软件由于都与游戏、娱乐、资讯等进行集成,导致员工无法把精力集中在公司的日常工作上。 5、个人通迅是属于个人、企业无法把控、一旦人员的离职、职务调动就会带来影响。 6、由于个人通迅无法提供第三方API接口、所以无法集成其他业务或者管理平台的即时消息提醒。从而无法加快工作效率的提升。 正因为上述这些问题,适于企业内部使的即时信息系统应运而生,并能大大克服个人即时信息所包含的问题。 联系人:咖啡(KF) QQ:836767134 TEL:13422883713 M
©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值