多年来我一直使用VB代码发送电子邮件。它停止工作显然是由于Gmail中的安全限制。
我的Gmail帐户使用2步验证,我甚至已经生成了“应用程序密码”。它仍然不会工作。
我的代码:
Dim SmtpServer As New SmtpClient()
Dim Email As New MailMessage()
SmtpServer.UseDefaultCredentials = False
SmtpServer.Credentials = New Net.NetworkCredential("username", "password")
“用户名”是我的gmail地址,“密码”是我创建的“应用程序密码”调试器没有显示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
调试器显示:?我的凭据{System.Net.网络凭据}域:“”密码:“密码”安全密码:{系统.安全.安全字符串}用户名:“使用者名称”
所以MyCredentials可以工作,但是调试显示:?SmtpServer.凭据无
我没有显示我的真实用户名或应用程序密码。我错过了什么?
1条答案
按热度按时间isr3a4wc1#
您遇到的问题是由于删除了安全性较低的应用程序,在您的谷歌帐户中设置
你需要在你的谷歌账户上启用2fa,创建一个应用程序密码,并用它来代替你代码中的实际密码。
我们切换到Xouath2并对用户进行授权。
Quick fix for SMTP username and password not accepted error