第一次使用VBA自动发送邮件,酷!
示例代码:
Sub 邮件发送()
Dim cm As New CDO.Message
'Set cm = CreateObject("CDO.Message") '创建对象 '引用路径:C:\Windows\system32\cdosys.dll
cm.From = "1234567@qq.com" '设置发信人的邮箱"
cm.To = "649725266@qq.com,excelpx@163.com" '设置收信人的邮箱
cm.Subject = "主题:邮件发送试验" '设定邮件的主题
'cm.TextBody = '邮件正文,使用文本格式发送邮件
cm.HtmlBody = "邮件发送试验^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^" '使用html格式发送邮件
cm.AddAttachment ThisWorkbook.path & "/a.xls"
stUl = "http://schemas.microsoft.com/cdo/configuration/" '微软服务器网址
With cm.Configuration.Fields
.Item(stUl & "smtpserver") = "smtp.qq.com" 'SMTP服务器地址
.Item(stUl & "smtpserverport") = 25 'SMTP服务器端口
.Item(stUl & "sendusing") = 2 '发送端口
.Item(stUl & "smtpauthenticate") = 1 '需要提供用户名和密码,0是不提供 '
.Item(stUl & "sendusername") = "1234567" '发送方邮箱名称
.Item(stUl & "sendpassword") = "12345671" '发送方邮箱密码
.Update
End With
cm.Send '最后当然是执行发送了
Set cm = Nothing
'发送成功后即时释放对象
End Sub
注:示例代码转自互联网,需根据个人邮箱地址、账号修改代码中相应部分。
另外,如果要使用163账号发送邮件,参考以下端口设置:(非SSL协议,25)