这个问题可能被标记为重复但事实并非如此。因为代码在使用以 @ gmail.com 结尾的普通Gmail帐户时成功发送电子邮件。只有在使用自定义且以 @ yourdomainname.com 结尾的G套装帐户时才会出现此问题。
我正在使用此代码发送电子邮件。我的帐户有两步验证,因此我创建了一个应用密码进行验证并使用它来发送电子邮件。
using (var mm = new MailMessage(PrivateSettings.SenderEmail, message.Destination))
{
mm.Subject = message.Subject;
mm.Body = message.Body;
mm.IsBodyHtml = true;
var smtp = new SmtpClient
{
Host = "smtp.gmail.com",
EnableSsl = true
};
var networkCred = new NetworkCredential(PrivateSettings.SenderEmail, PrivateSettings.EmailPassword);
smtp.UseDefaultCredentials = true;
smtp.Credentials = networkCred;
smtp.Port = 587;
smtp.Send(mm);
}
以上代码在我使用普通的Gmail帐户时成功发送电子邮件,即se.natnael.zeleke@gmail.com。
但是当我使用我的G Suit帐户之一 connect@tatarri.com 时,发送电子邮件失败并显示此错误消息。
所以我的问题是;是G suit gmail帐户的附加配置。
其他信息。
我配置了两个电子邮件帐户以使用应用密码。 connect@tatarri.com也在我的G套装帐户中注册为管理员。
这两个电子邮件帐户都在设置中启用了IMAP。
我从namecheap购买了tatarri.com域名。
谢谢。
答案 0 :(得分:0)
该行:
smtp.UseDefaultCredentials = true;
告诉SMTP客户端使用当前登录用户的默认凭据。这是您将用于客户端应用程序的内容。
在您的情况下,您要指定除当前用户以外的凭据,因此请将其设置为false
:
smtp.UseDefaultCredentials = false;