学以致用——使用VBA发送邮件(Send Email with VBA)

第一次使用VBA自动发送邮件,酷!

示例代码:

Sub 邮件发送()
Dim cm As New CDO.Message
'Set cm = CreateObject("CDO.Message") '创建对象 '引用路径:C:\Windows\system32\cdosys.dll
cm.From = "[email protected]" '设置发信人的邮箱"
cm.To = "[email protected],[email protected]" '设置收信人的邮箱
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)

学以致用——使用VBA发送邮件(Send Email with VBA)_第1张图片


你可能感兴趣的:(学以致用——使用VBA发送邮件(Send Email with VBA))