电信主站 网通分站
购买流程 付款方式 常见问题 在线提问 续租服务 购物车
用户名: 密 码: 忘记密码?
首 页
域名注册
虚拟主机
双线主机
服务器租用
VPS主机
企业邮局
代理专区
客服中心
虚拟主机行业资讯 虚拟主机评测对比 互联网最新动态 技术学院 站长资讯 在线教程 网站运营
搜索优化 服务器 网络编程 图形图象 站长之家 网页制作 操作系统
冲浪宝典 软件教学 视频通信 办公软件 邮件系统 网络安全 认证考试
您当前位置:西部数码->资讯中心-> 图形图象-> 相关软件
使用vb收发电子邮件_visualbasic教程
作者:网友供稿 点击:0
  西部数码-全国虚拟主机10强!20余项虚拟主机管理功能,全国领先!第6代双线路虚拟主机,南北访问畅通无阻!虚拟主机可在线rar解压,自动数据恢复设置虚拟目录等.虚拟主机免费赠送访问统计,企业邮局.Cn域名注册10元/年,自助建站480元起,免费试用7天,满意再付款!P4主机租用799元/月.月付免压金!
文章页数:[1] 
发送和接收电子邮件,对于某些执行特殊任务的应用程序而言,是一个十分有用的功能。例如,一个监视网络服务器资源使用情况的工具软件,如果它具有自动发送电子邮件的功能,那么当它发现服务器的资源使用已经接近事先设定的临界状态时,便可以向系统管理员发送一封告警的电子邮件,从而使系统管理员能够及时地采取措施,以避免重大事故的出现。在VisualBasic中,应用程序可以通过调用微软公司的MAPI(MessagingApplicationProgrammingInterface,消息应用程序编程接口),实现收发电子邮件的功能。笔者将在本文中结合简单实例,向大家介绍在VB程序中实现电子邮件收发功能的编程方法。

----编制具有收发电子邮件功能的VB程序,必须使用VisualBasic4.0以上的版本,因为只有4.0以上的VisualBasic才带有两个实现电子邮件收发功能的核心控件:MAPI会话控件和MAPI消息控件。MAPI会话控件用于建立和控制一个MicrosoftMail会话,MAPI消息控件用于创建和收发邮件消息。此外,程序必须运行在采用遵从MAPI的消息系统(如:MicrosoftExchange、MicrosoftMail、Outlook等)的环境中。

.
.
.

----在其中的“AvailableControls”列表框中选中“MicrosoftMAPIControls”表项,然后按“OK”命令按钮退出该对话框.

.
.
----下面,笔者将以两个简单的VB程序为例,分别介绍发送邮件和接收邮件的程序编制方法。

----邮件发送程序

----邮件发送程序的基本处理过程是:根据用户输入信息组成邮件,然后使用MAPI消息控件的Send方法将邮件发出。编程步骤如下:

----1、新建一个VB项目。

----2、将缺省窗体Form1的Caption属性设置为“发送邮件”。

----3、将MAPI控件加入VB工具框。

----4、在Form1中加入一个MAPI会话控件MAPISession1和一个MAPI消息控件MAPIMessages1。

----5、在Form1中加入三个文本框控件,将它们的Name属性分别设置为txtSendTo、txtSubject、txtMessage,并将txtMessage的Multiline属性设置为True。这三个文本框控件将分别用于填写邮件的收件人、主题和内容。

----6、在Form1中加入三个标签控件,将它们的Caption属性分别设置为“收件人”、“主题”和“内容”,并将它们放在合适的位置用以标注相应的文本框控件。

----7、在Form1中加入一个命令按钮控件,将其Caption属性和Name属性分别设置为“发送”和“cmdSend”。

----8、将下列代码加入Form1的Form_Load事件:

PrivateSubForm_Load()
MAPISession1.SignOn
EndSub

----9、将下列代码加入Form1的Form_Unload事件:

PrivateSubForm_Unload(CancelAsInteger)
MAPISession1.SignOff
EndSub

----10、将下列代码加入cmdSend的Click事件:

PrivateSubcmdSend_Click()
WithMAPIMessages1
.MsgIndex=-1
.RecipDisplayName=txtSendTo.Text
.MsgSubject=txtSubject.Text
.MsgNoteText=txtMessage.Text
.SessionID=MAPISession1.SessionID
.Send
EndWith
MsgBox"邮件发送完毕!",,"发送邮件"
EndSub
.
.
.
----邮件接收程序

----邮件接收程序比邮件发送程序稍微复杂一些。首先需要使用MAPI消息控件的Fetch方法读取邮件,这个过程将把用户收件箱中所有未读邮件全部装入MAPI消息控件中。然后,检查MAPI消息控件的MsgCount属性以确定通过Fetch方法读取的邮件的总数。接着,可以通过设置MAPI消息控件的MsgIndex属性来指定具体需要处理哪一封邮件。需要说明的是,MsgIndex属性值的计数是从0开始的,也就是说,第一封邮件的索引号是0,第二封邮件的索引号是1,依次类推。编程步骤如下:

----1、新建一个VB项目。

----2、将缺省窗体Form1的Caption属性设置为“接收邮件”。

----3、将MAPI控件加入VB工具框。

----4、在Form1中加入一个MAPI会话控件MAPISession1和一个MAPI消息控件MAPIMessages1。

----5、在Form1中加入三个标签控件和一个文本框控件,将三个标签控件的Name属性分别设置为lblMsgDateReceived、lblMsgOrigDisplayName、lblMsgSubject,将文本框控件的Name属性设置为txtMsgNoteText,并将标签控件的Caption属性和文本框控件的Text属性的内容清空。这四个控件将分别用于显示邮件的日期、发件人、主题和内容。

----6、将txtMsgNoteText控件的Locked属性和Multiline属性设置为True,ScrollBars属性设置为2-Vertical。

----7、在Form1中再加入四个标签控件用于标注上述四个控件,将它们的Caption属性分别设置为“日期”、“发件人”、“主题”、“内容”。

----8、在Form1中加入一个标签控件,将其Name属性设置为lblMsgCount,Caption属性设置为“第0封邮件,总计0封邮件”。该控件用于显示接收的邮件总数以及当前正在处理第几封邮件。

----9、在Form1中加入三个命令按钮控件,将它们的Name属性分别设置为cmdPrevious、cmdNext、cmdClose,Caption属性分别设置为“上一封”、“下一封”、“关闭”。

----10、编写一个窗体级子例程FetchNewMail:

PublicSubFetchNewMail()
MAPIMessages1.FetchUnreadOnly=True
MAPIMessages1.Fetch
EndSub

----11、编写一个窗体级子例程DisplayMessage:

......

----12、将下列代码加入Form1的Form_Load事件:

......

----13、将下列代码加入cmdPrevious的Click事件:


......

----14、将下列代码加入cmdNext的Click事件:


......

----15、将下列代码加入cmdClose的Click事件:


......

----本例是读取用户收件箱中所有未读邮件,如果要读取收件箱中所有的邮件,那么只需在执行Fetch方法之前,将MAPI消息控件的FetchUnreadOnly属性设置为False。具体接收的邮件是否已经读过,可以通过MsgRead属性来判别。如果邮件的正文或附件曾经被浏览过,那么该邮件就会自动标记为已读,不过只浏览邮件的主题不会标记该邮件已读。

----邮件附件

----与处理邮件的方式一样,MAPI也为邮件的附件提供了一个计数器和一个索引。在处理收到的邮件时,可以通过检查AttachmentCount属性来确定该邮件携带了多少个附件,然后可以通过设置AttachmentIndex属性依次处理每一个附件。AttachmentIndex的合法取值范围为0至AttachmentIndex-1。在设置了AttachmentIndex属性值后,可以读取附件的下列属性:

----AttachmentName:当附件是一个文件时,该属性用于指定文件的名称。当附件是一个OLE对象时,该属性用于指定对象的类型。

----AttachmentPath:该属性用于指定做为附件的文件的全路径名。

----AttchmentPosition:该属性用于指定附件在邮件内容部分中的位置。当邮件收发程序显示邮件内容时,将使用该属性提供的信息把附件的标志放在合适的位置。

----AttachmentType:该属性用于指定附件的类型,其合法取值为三个整数型数值,在VB中分别由下列常量表示:

  • mapData-附件是一个数据文件
  • mapEOLE-附件是一个嵌入式OLE对象
  • mapSOLE-附件是一个静态OLE对象

----发送邮件时,上述属性的使用方法与接收邮件时相同,只不过由读操作改为写操作了。值得一提的是AttachmentIndex属性,发送邮件时可以将其设置为任意值。而AttachmentCount属性则会自动设置为正确的值,无需人为设置。

----小结

----通过分析上述两个程序的代码,可以归纳出具有收发电子邮件功能的VB程序的基本流程如下:

----1、使用MAPI会话控件建立一个邮件会话。

----2、使用MAPI消息控件进行邮件的处理工作。

----3、再次使用MAPI会话控件释放邮件会话。

----由于上述两个VB程序只是简单的示例,因而略去了一些与本文主题关系不大的细节,如错误处理等。在编制实用程序时,为了保证程序的可靠性,应该考虑加入这些细节部分。

->


文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!
相关主题
文章页数:[1] 
Google
热门文章
·hierarchicalflexgrid控件_visualbasic教程
·制作证件照片其实很方便_相关软件教程
·无需photoshop等软件 上网也能改图片_相关软件教程
·corel paintshop pro x简体中文版新功能_相关软件教程
·illustrator丰富画笔轻松制作漂亮像框_相关软件教程
·使用文本窗口和对话框_autocad教程
·painter为卡通漫画纸描线稿上色_相关软件教程
·用photoshop自己制作标准证件照_photoshop教程
·linux程式设计-11.shellscript(bash)--(7)流程控制select_shell教程
·重定义编译dll文件的基地址_visualbasic教程

最新文章
·实战解决优化后windows xp不能自动更新的问题_windows xp
·php的content-type=text/html问题_php技巧
·imageready为照片轻松添加动画相框_相关软件教程
·php调用存储过程返回结果集,解决cant return a result set in the given context错误的方法_php技巧
·illustrator巧绘布娃娃矢量图_相关软件教程
·趣味在线制作:在美女纤纤细腰上留名_相关软件教程
·用imageready切片导出html网页_相关软件教程
·photoimpact处理照片之换头神功_相关软件教程
·体验freehand mx的矢量3d图形功能_相关软件教程
·freehand与pagemaker的联合协作_相关软件教程


 
 


版权申明:本站文章均来自网络,如有侵权,请联系我们,我们收到后立即删除,谢谢!

特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。
  打印  刷新  关闭
返回首页 |关于我们 | 联系我们 | 付款方式 | 创业联盟 | 虚拟主机 | 资讯中心 | 友情链接 | 网站地图

版权所有 西部数码(www.west263.com)
CopyRight (c) 2002~2006 west263.com all right reserved.
公司地址:四川成都市万和路90号天象大厦4楼 邮编:610031
电话总机:028-86262244 86263048 86263408 86263960 86264018 86267838
售前咨询:总机转201 202 203 204 206 208
售后服务:总机转211 212 213 214
财务咨询:总机转224 223 传真:028-86264041 财务QQ:点击发送消息给对方635483282
售前咨询QQ:点击发送消息给对方2182518 点击发送消息给对方241975952 点击发送消息给对方275026793 点击发送消息给对方408235859
售后服务QQ:点击发送消息给对方17708515 点击发送消息给对方307742704 点击发送消息给对方287976517 点击发送消息给对方363783715
《中华人民共和国增值电信业务经营许可证》编号:川B2-20030065号