多年来我一直使用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调试说明:?MyCredentials {System.Net.NetworkCredential}域:“密码:密码”SecurePassword:{System.Security.SecureString} UserName:“用户名”
所以MyCredentials可以工作,但是调试说:?SmtpServer.Credentials Nothing
我没有显示我的真实用户名或应用程序密码。我遗漏了什么?
发布于 2022-11-28 17:27:34
您遇到的问题是由于删除了不太安全的应用程序,设置在您的google帐户中。
smtpServer.Credentials = New Net.NetworkCredential("username", "password")您需要在您的google帐户上启用2fa,并创建一个应用程序密码,并在代码中使用该密码代替实际密码。
我们切换到Xouath2并授权用户。
https://stackoverflow.com/questions/74603537
复制相似问题