四、指明收件人邮箱地址
邮件的标题,正文和附件这三样都设置齐全了也只是代表有了一封完整的信件,就像写信一样,邮寄的时候还必须写个信封。在这里信封就是要指明收件人的邮箱地址,这样才能让邮件能够顺利送达。在邮件消息对象中有一个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。
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
相关专题
·PowerBuilder应用开发系列讲座(9) (456次浏览)
·用PB编写邮件应用程序 (320次浏览)
·循序渐进学习Power Builder 6.0(7 (315次浏览)
·PowerBuilder调用Delphi写的Dll时发生的奇怪问 (5次浏览)
·用PB编写邮件应用程序 (320次浏览)
·循序渐进学习Power Builder 6.0(7 (315次浏览)
·PowerBuilder调用Delphi写的Dll时发生的奇怪问 (5次浏览)
·PowerBuilder调用Delphi写的Dll时发生的奇怪问题 10-09
·PowerBuilder应用开发系列讲座(9) 10-03
·循序渐进学习Power Builder 6.0(7-0) 10-01
·用PB编写邮件应用程序 10-01
·用Powerbuilder开发WEB数据库 11-04
·用Powerbuilder进行分布式应用开发三级体系结构 11-04
·用PB做一个通用右键菜单 11-03
·用PB开发多媒体数据库管理系统 11-03
·用IS5.0将数据库的DSN自动添加ODBC中 11-03
·如何发布独立的POWERBUILDER应用 10-26
·PowerBuilder应用开发系列讲座(9) 10-03
·循序渐进学习Power Builder 6.0(7-0) 10-01
·用PB编写邮件应用程序 10-01
·用Powerbuilder开发WEB数据库 11-04
·用Powerbuilder进行分布式应用开发三级体系结构 11-04
·用PB做一个通用右键菜单 11-03
·用PB开发多媒体数据库管理系统 11-03
·用IS5.0将数据库的DSN自动添加ODBC中 11-03
·如何发布独立的POWERBUILDER应用 10-26
最新论坛文章
站内各频道最新更新文档
站内最新制作专题
热门关键字导读
站内频道文章精选
百度推荐,商机无限
搜索您感兴趣的内容



