VBA信息获取与处理专题五第一节:利用CDO发送简单邮件的代码部分
《VBA信息获取与处理》教程(版权10178984)是我推出第六套教程,目前已经是第一版修订了。这套教程定位于最高级,是学完初级,中级后的教程。这部教程给大家讲解的内容有:跨应用程序信息获得、随机信息的利用、电子邮件的发送、VBA互联网数据抓取、VBA延时操作,剪贴板应用、Split函数扩展、工作表信息与其他应用交互,FSO对象的利用、工作表及文件夹信息的获取、图形信息的获取以及定制工作表信息函数等等内容。程序文件通过32位和64位两种OFFICE系统测试。是非常抽象的,更具研究的价值。
教程共两册,二十个专题。今日分享内容是:VBA信息获取与处理专题五第一节:利用CDO发送简单邮件的代码部分
【分享成果,随喜正能量】194人生的旅途,一时的失意,一时的挫折,跌了一跤,不是人生的全部,只是人生的一个逗点,未来的成就、光辉,还有很多的虚线有待你继续去完成。。
专题五 VBA利用CDO发送电子邮件
第一节 利用CDO发送简单邮件
这个专题的第一节是利用CDO发送简单邮件,发送邮件,在职场工作中最普遍的事情了,这节我们将讲解利用CDO.Message发送一个简单的电子邮件。
'邮件内容
mySubject = "邮件测试" '设定邮件的主题
‘myText = "文本内容1+文本内容2" '设定邮件的内容
myHtmlBody = "文本内容1" & "<br>" & "文本内容2" '使用Html格式发送邮件
Application.DisplayAlerts = False
'设置参数
Set CDOMail = CreateObject("CDO.Message") '创建对象
CDOMail.From = MailFrom '设置发信人的邮箱
CDOMail.To = MailTo '设置收信人的邮箱
CDOMail.Subject = mySubject '设定邮件的主题
'CDOMail.TextBody = myText
CDOMail.HtmlBody = myHtmlBody
stUl = "
http://schemas.microsoft.com/cdo/configuration/" '微软服务器网址
With CDOMail.Configuration.Fields
.Item(stUl & "smtpserver") = "smtp.126.com" 'SMTP服务器地址
.Item(stUl & "smtpserverport") = 25 'SMTP服务器端口 465 是ssl连接 25是普通连接
.Item(stUl & "sendusing") = 2 '发送端口
.Item(stUl & "smtpauthenticate") = 1 '远程服务器需要验证
.Item(stUl & "sendusername") = MailFrom
.Item(stUl & "sendpassword") = Mailsendpassword
.Item(stUl & "smtpconnectiontimeout") = 60 '连接超时(秒)
.Update
End With
CDOMail.Send '执行发送
Set CDOMail = Nothing '发送成功后即时释放对象
If Err.Number = 0 Then
MsgBox "成功发送邮件", , "温馨提示" '如果没有出错,则提示发送成功
Else
MsgBox Err.Description, vbInformation, "邮件发送失败" '如果出错,则提示错误类型和错误代码
End If
Application.DisplayAlerts = True '恢复系统提示
End Sub
代码截图:
代码的讲解:
1)设置发信人的邮箱,收信人的邮箱
MailFrom = "VBA6337@126.com" '设置发信人的邮箱
MailTo = "NESANG@189.cn" '设置收信人的邮箱
2)设置授权码
Mailsendpassword = "CUIAYZSDHOYZPH**" '授权码
3)邮件题目及内容
mySubject = "邮件测试" '设定邮件的主题
‘myText = "文本内容1+文本内容2" '设定邮件的内容
myHtmlBody = "文本内容1" & "<br>" & "文本内容2" '使用Html格式发送邮件
这里我给出了两种邮件内容的方案,一是myText,一是myHtmlBody ,前者是文本格式,后者是Html格式,
Html格式更为灵活,可以设置换行,及格式设置,后面有专门的专题会讲解简单的Html格式标记。
4)发送邮件
.Item(stUl & "smtpserver") = "smtp.126.com" 'SMTP服务器地址
.Item(stUl & "smtpserverport") = 25 'SMTP服务器端口 465 是ssl连接 25是普通连接
.Item(stUl & "sendusing") = 2 '发送端口
.Item(stUl & "smtpauthenticate") = 1 '远程服务器需要验证
.Item(stUl & "sendusername") = MailFrom
.Item(stUl & "sendpassword") = Mailsendpassword
.Item(stUl & "smtpconnectiontimeout") = 60 '连接超时(秒)
.Update
CDOMail.Send '执行发送
以上代码是按照给定的参数发送邮件。
5)发送检查
If Err.Number = 0 Then
MsgBox "成功发送邮件", , "温馨提示" '如果没有出错,则提示发送成功
Else
MsgBox Err.Description, vbInformation, "邮件发送失败" '如果出错,则提示错误类型和错误代码
End If
如果没有错误,说明邮件发送成功。
3 利用CDO发送邮件的效果
我们点击发送邮件按钮:
本节知识点回向:如何利用CDO实现简单邮件的发送?发送邮件的参数有哪些?设置邮件内容的两个参数有何不同?
本专题参考程序文件:005工作表.XLSM
我20多年的VBA实践经验,全部浓缩在下面的各个教程中,教程学习顺序: