使用VB发送邮件,windows 10,停止工作



多年来我一直使用VB代码发送电子邮件。它停止工作显然是由于Gmail的安全限制。

我的Gmail帐户使用两步验证,我甚至生成了一个"应用程序密码"。还是不行

我代码:

Dim SmtpServer As New SmtpClient()
Dim Email As New MailMessage()
SmtpServer.UseDefaultCredentials = False
SmtpServer.Credentials = New Net.NetworkCredential("username", "password")

"username"是我的gmail地址和密码为"App密码"。我创建的调试器没有显示SmtpServer.Credentials.

我尝试了很多方法来让这个工作,除了购买收费的软件。我甚至尝试张贴代码,应该工作。

欢迎提出任何建议。

改变代码:

Dim SmtpServer As New SmtpClient()
Dim Email As New MailMessage()
SmtpServer.UseDefaultCredentials = False
SmtpServer.EnableSsl = True
Dim MyCredentials = New NetworkCredential("username", "password")
SmtpServer.Credentials = MyCredentials

调试说:MyCredentials ?{System.Net.NetworkCredential}域:";"密码:"password"SecurePassword: {System.Security.SecureString}用户名:"username">

所以MyCredentials工作,但是调试说:? SmtpServer。凭证没有

我没有显示我的真实用户名或应用程序密码。我错过了什么?

你遇到的问题是由于删除了不太安全的应用程序,设置在你的谷歌帐户

smtpServer.Credentials = New Net.NetworkCredential("username", "password")

你需要在你的谷歌账户上启用2fa,并创建一个应用程序密码,并在你的代码中使用它来代替你的实际密码。

切换到Xouath2并授权用户。

快速修复SMTP用户名和密码不接受错误

最新更新