发邮件,自己改下相应内容 ,有批注:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim cm As New CDO.Message 'CDO.message是一个发送邮件的对象
'Set cm = CreateObject("CDO.Message") '创建对象 '引用路径:C:\Windows\system32\cdosys.dll'这个是要引用的,如果不引用,可以用这句也行
cm.From = "30687724@qq.com" '设置发信人的邮箱"
cm.To = "suxiong@eshinetech.com" '设置收信人的邮箱
cm.Subject = "主题:邮件发送试验" '设定邮件的主题
'cm.TextBody = '邮件正文,使用文本格式发送邮件,如果太复杂了就不行了,要用下面这种
cm.HtmlBody = "邮件发送试验^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^" '使用html格式发送邮件
cm.AddAttachment "F:\学习资料\vba\a.xlsx" '发的附件名与地址
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") = "30687724" '发送方邮箱名称,不用输入@后面的东西
.Item(stUl & "sendpassword") = "s30687724" '发送方邮箱密码
.Update
End With
cm.Send '最后当然是执行发送了
Set cm = Nothing
'发送成功后即时释放对象
End Sub