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

9rygscc1  于 2022-11-30  发布在  Windows
关注(0)|答案(1)|浏览(92)

多年来我一直使用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.凭据无
我没有显示我的真实用户名或应用程序密码。我错过了什么?

isr3a4wc

isr3a4wc1#

您遇到的问题是由于删除了安全性较低的应用程序,在您的谷歌帐户中设置

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

你需要在你的谷歌账户上启用2fa,创建一个应用程序密码,并用它来代替你代码中的实际密码。
我们切换到Xouath2并对用户进行授权。
Quick fix for SMTP username and password not accepted error

相关问题