我现在一直在为此付出很多努力。
我尝试使用我的谷歌应用程序帐户使用我的mvc应用程序发送邮件。但我不断收到错误。我使用哪种设置无关紧要。我尝试使用端口465和587与ssl和身份验证打开。 465我得到了操作超时和587我得到了这个消息:
SMTP服务器需要安全连接,否则客户端不需要 认证。服务器响应为:5.5.1需要身份验证
我试着转动防火墙没有运气。我还试图关闭两步验证,但我发现它甚至没有打开。
我希望你能帮助我 此致
以下是所要求的代码:
public static void SendMail(MailAddress from, MailAddress to, string subject, string body) {
MailMessage mail = new MailMessage();
mail.From = from;
mail.To.Add(to);
mail.Subject = subject;
mail.Body = body;
SmtpClient client;
if (Settings.Port != null)
client = new SmtpClient(Settings.Host, Int32.Parse(Settings.Port));
else
client = new SmtpClient(Settings.Host);
client.EnableSsl = Settings.UseSSL;
client.Timeout = 50000;
client.DeliveryMethod = SmtpDeliveryMethod.Network;
if (Settings.UseAuthentication) {
client.Credentials = new NetworkCredential(Settings.Username, Settings.Password);
client.UseDefaultCredentials = false;
}
client.Send(mail);
}
我检查了所有obvius内容,如用户名和密码(用户名形成为user@domain.com)。我还通过代码来验证我的设置类是否正常工作
答案 0 :(得分:0)
我发现了问题所在。在设置凭据之前必须先client.UseDefaultCredentials = false;
。现在client.Send
方法无异常返回。