频道直达 - 专题 - 新闻 - 技巧 - 组网 - 开发 - 安全 - web编程 - 图像 - 操作系统 - 数据库 - 教育 - 旅游 - 健康 - 时尚 - 驱动 - 软件 - 游戏 - 多媒体 - ERP - 讨论组

PowerBuilder 7.0中实现电子邮件的收发

来源:yesky 作者:夏翔 出处:巧巧读书 2006-08-28 进入讨论组
关 键 词:excel  ie  os  outlook  powerbuilder  
上一页 1 2 3 4 5 6 下一页 

  四、指明收件人邮箱地址

  邮件的标题,正文和附件这三样都设置齐全了也只是代表有了一封完整的信件,就像写信一样,邮寄的时候还必须写个信封。在这里信封就是要指明收件人的邮箱地址,这样才能让邮件能够顺利送达。在邮件消息对象中有一个Recipient[]属性,该属性的数据类型就是邮件收件者对象的一个数组,顾名思义是存放邮件的接收者信息,包括名字,地址都在里面。之所以用了数组是因为有时我们会经常的将一封邮件同时发送到几个人手里,这时就可以用不同数组下标来分别指定收件人。具体的设置如下:

mMsg.Recipient[1].Name = "收件人一"
mMsg.Recipient[2].Name = "收件人二"
mMsg.Recipient[N].Name = "…"

  看到这里,你或许会感到很奇怪,怎么只有收件人的名字并没有邮箱地址?就是这么简单,原因是你所对邮件收件者对象中的接收者名字的赋值是指通讯簿里面的收件人姓名。如果通讯簿为空,或者没有等效的用户名存在那么最终的邮件发送也是会失败的。这点还请大家要注意。

  一旦设置了收件人邮箱地址我们可以说万事具备,只欠东风了。我们有了邮件的标题,正文、附件和邮件送达地址之后,只要再为发送邮件建立一个会话,相当于建立一个通道,说的通俗点就是把信投到信箱里交给邮局,这样邮件才能顺着这个通道发送出去。这时要用到前面提到的邮件会话对象mailSession,具体代码如下:

mailSession mSes
mSes = create mailSession
mRet = mSes.mailLogon(mailNewSession!)
……
mRet = mSes.mailSend(mMsg)
mSes.mailLogoff()
DESTROY mSes

  该段代码首先用create为邮件会话对象开辟一个内存区域,然后用函数mailLongon()建立邮件会话,接着就调用发送邮件函数mailSend()发送邮件,最后当发送完毕后调用mailLongoff()关闭邮件会话。

  不过,当全部的邮件会话结束后别忘了用DESTRORY释放邮件会话对象所占用内存空间,以防止过多的无用内存被占用而导致系统崩溃。

  完整的邮件发送程序如下:

/**************** 程序代码:邮件发送 *****************/
mailSession mSes
mailReturnCode mRet
mailMessage mMsg
mailFileDescription mFd

// 创建邮件会话对象
mSes = create mailSession

// 建立邮件会话
mRet = mSes.mailLogon(mailNewSession!)
IF mRet <> mailReturnSuccess! THEN
MessageBox("邮件", '连接失败!')
RETURN
END IF

// 设置邮件消息对象的一些属性值
mMsg.Recipient[1].Name = sle_1.text // 邮件接收人名字
mMsg.Subject = sle_2.text // 邮件主题
mMsg.NoteText = mle_2.text // 邮件正文

mFd.Filename = mle_1.text // 设置附件的文件名
mfd.Pathname = mle_1.text // 设置附件的路径
mMsg.AttachmentFile[1] = mFd // 指明第一个附件

// 以下被屏蔽了
// 如果有多个附件可以遵照下面的方法来实现
//mFd.Filename = 'D:\Temp2.txt'
//mfd.Pathname = "D:\Temp2.txt"
//mMsg.AttachmentFile[2] = mFd
//
//mFd.Filename = 'D:\Temp3.txt'
//mfd.Pathname = "D:\Temp3.txt"
//mMsg.AttachmentFile[3] = mFd

// 发送邮件
mRet = mSes.mailSend(mMsg)
IF mRet <> mailReturnSuccess! THEN
MessageBox("邮件发送", '邮件没有被发出!')
RETURN
END IF

mSes.mailLogoff()
DESTROY mSes
/********************** 结束 ************************/


  好了,赶紧为你的好朋友发送一份邮件试一下。一切OK。 更多文章 更多内容请看电子邮件安全  邮件服务器专题专题,或进入讨论组讨论。
上一页 1 2 3 4 5 6 下一页 
收藏此文】【 】【打印】【关闭
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
巧巧读书宗旨
相关专题
·电子邮件安全 (7171篇文章)
·邮件服务器专题 (5990篇文章)
热点标签: excel  ie  os  outlook  powerbuilder  
最新论坛文章
站内各频道最新更新文档
站内最新制作专题
热门关键字导读
Photoshop教 程照片处理 照片制作 PS快捷键 抠图
计 算 机 故 障XP系统修复
艺 术 与 设 计设计 流媒体 设计欣赏 边框
计 算 机 安 全ARP
站内频道文章精选
百度推荐,商机无限
搜索您感兴趣的内容
 
Web 本站
巧巧电脑频道编辑信箱  告诉我们您想看的专题或文章