VBA 之调用CDO接口发送邮件 您所在的位置:网站首页 内网邮箱无法发送邮件 VBA 之调用CDO接口发送邮件

VBA 之调用CDO接口发送邮件

2024-06-04 22:49| 来源: 网络整理| 查看: 265

VBA自带的语法可以处理Outlook邮箱,但是缺点是outlook还需要配置, 但是调用系统自带的CDO接口可以用SMTP模式发送各大第三方的邮箱,只需要开启POP3/SMTP模式即可,兼容性更好.

Sub CDOSENDEMAIL() 'On Error Resume Next '出错后继续执行 Application.DisplayAlerts = False '禁用系统提示 'ThisWorkbook.ChangeFileAccess Mode:=xlReadOnly '将工作簿设置为只读模式 Set CDOMail = CreateObject("CDO.Message") '创建对象 CDOMail.From = "[email protected]" '设置发信人的邮箱 CDOMail.To = "[email protected]" '设置收信人的邮箱 CDOMail.Subject = "主题:用CDO发送邮件试验" '设定邮件的主题 CDOMail.TextBody = "文本内容" '使用文本格式发送邮件似乎不能换行,只能切换成HTML模式换行." CDOMail.HtmlBody = "使用html" & "" & "换行后的内容" '使用Html格式发送邮件 'CDOMail.AddAttachment ThisWorkbook.Path & "\" & "a" & ".xlsx" '发送当前目录下的工作簿a为附件 stUl = "http://schemas.microsoft.com/cdo/configuration/" '微软服务器网址 'stUl = "http://pop.sina.com" '微软服务器网址 With CDOMail.Configuration.Fields '.Item(stUl & "smtpusessl") = True .Item(stUl & "smtpserver") = "smtp.sina.com" 'SMTP服务器地址 .Item(stUl & "smtpserverport") = 25 'SMTP服务器端口 465 是ssl连接 25是普通连接 .Item(stUl & "sendusing") = 2 '发送端口 .Item(stUl & "smtpauthenticate") = 1 '远程服务器需要验证 .Item(stUl & "sendusername") = "[email protected]" '发送方邮箱名称 .Item(stUl & "sendpassword") = "授权码" '上面连接生成的授权码,非你qq邮箱密码 .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 'ThisWorkbook.ChangeFileAccess Mode:=xlReadWrite '将工作簿设置为读写模式 'Kill ThisWorkbook.Path & "\" & "a" & ".xlsx" '新工作簿删除 'Call dayin Application.DisplayAlerts = True '恢复系统提示 End Sub


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有