我正在尝试使用Gmail帐户发送电子邮件。我能够使用yahoo发送电子邮件,但是由于某些未知原因,它不再起作用。我也对此发表了一个问题,但没有回应。
在这种情况下,我尝试连接到gmail帐户,以便我可以发送电子邮件,但没有运气,在连接后失败。
尽管我拥有正确的凭据,但连接成功,但根本不进行身份验证。
这是我遇到的错误。我想提一下凭据是正确的。
{"535: 5.7.8 Username and Password not accepted. Learn more at\n5.7.8
https://support.google.com/mail/?p=BadCredentials l17sm22879081wro.77 - gsmtp"}
我应该使用任何证书吗?我确定我的代码做错了。
代码
var message = new MimeMessage();
message.From.Add(new MailboxAddress(contactModel.Name, "s@gmail.com"));
// This needs to be put in a configuration file
message.To.Add(new MailboxAddress("test", "a@gmail.com"));
message.Subject = $"{contactModel.Name} contacted me!";
message.Body = new TextPart("plain") {
Text = contactModel.Message +
" Details of sender: " + contactModel.EmailAddress + ", " + contactModel.ContactNumber + " ," + contactModel.Name
};
using (var client = new SmtpClient())
{
try
{
if (!client.IsConnected)
{
await client.ConnectAsync("smtp.gmail.com", 587,false);
client.AuthenticationMechanisms.Remove("XOAUTH2");
}
if (!client.IsAuthenticated)
{
await client.AuthenticateAsync("s@gmail.com", "password");
}
await client.SendAsync(message);
await client.DisconnectAsync(true);
return "success";
}
catch (SmtpCommandException ex)
{
throw;
}
catch (SmtpProtocolException ex)
{
throw;
}
catch (Exception e)
{
throw new Exception($"The email from {contactModel.EmailAddress} captured but not sent to the owner");
}
}
我的收件箱中有这封电子邮件,我该如何绕过它?
答案 0 :(得分:0)
您需要做的是在网络浏览器中登录您的Google Mail帐户,转到“设置”,然后选中“启用安全性较低的应用程序”。我相信如果您已经登录https://myaccount.google.com/lesssecureapps
,该网址将会带您到那里答案 1 :(得分:0)
第一:
然后: