为什么我在 VBA 中通过 gmail 从 Excel 发送电子邮件的子例程不起作用?

问题描述

我发现了几种在 VBA 中通过 gmail 发送电子邮件的变体,甚至使用下面的 sub 观看了 youtube 演示,但我无法让它工作。我试过 smtpserverport 25 和 465。我试过 smtpserver smtp.gmail.com 和 smtp.office365.com。我确实选择了 Microsoft CDO 参考。

我验证了 gmail 密码,没有收到错误消息,也没有编译错误。不知道我哪里出错了。

我通过 send_email_via_gmail 从上面的主程序调用子程序。我在发送语句之后添加一个 MsgBox,以确保调用了 sub 并且它确实到达了它,但我从未收到电子邮件。我的子程序代码如下。如果这有什么不同,我有 O365。

Sub send_email_via_gmail()
Dim myMail As cdo.message
Set myMail = New cdo.message
myMail.Configuration.fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True
myMail.Configuration.fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
myMail.Configuration.fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.gmail.com"
myMail.Configuration.fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 465
myMail.Configuration.fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
myMail.Configuration.fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "xxxxxxx@gmail.com"
myMail.Configuration.fields.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "xxxxxxx"
myMail.Configuration.fields.Update
With myMail
.Subject = "Test email from Stock App"
.From = "xxxxxxx@gmail.com"
.To = "xxxxxxx@comcast.net"
.TextBody = "Test email from Me to Me"
End With
On Error Resume Next
myMail.Send
Set myMail = nothing
End Sub

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)