SMTP 例外.请求身份验证
本文关键字:身份验证 请求 例外 SMTP | 更新日期: 2023-09-27 17:56:15
protected void Button1_Click(object sender, EventArgs e)
{
MailMessage message = new MailMessage()
{
Subject = "Subject",
Body = "Body"
};
message.To.Add(new MailAddress("demo@example.com", "Some name"));
SmtpClient client = new SmtpClient();
client.EnableSsl = true;
client.Send(message);
}
配置
<configuration>
<system.net>
<mailSettings>
<smtp from="demo@example.com">
<network host="****" defaultCredentials="false" port="587" userName="****" password="****" />
</smtp>
</mailSettings>
</system.net>
<system.web>
更正。它现在有效。谢谢马雷克
您的问题可能在于defaultCredentials
设置为 true。 请尝试将其设置为 false,然后重试。 另外,为什么要在代码中再次设置凭据? Gmail还要求通过端口587上的SSL(如果我没记错的话)发送电子邮件。
就在今天,我在我的代码中实现了gmail smtp。 我的设置和代码:
<system.net>
<mailSettings>
<smtp deliveryMethod="Network" from="MY_GMAIL_EMAIL">
<network defaultCredentials="false" host="smtp.gmail.com" port="587" userName="MY_GMAIL_USERNAME" password="MY_GMAIL_PASSWORD" />
</smtp>
</mailSettings>
</system.net>
MailMessage message = new MailMessage() {
Subject = "Subject",
Body = "Body"
};
message.To.Add(new MailAddress("someemail@domain.com", "Some name"));
SmtpClient smtpClient = new SmtpClient();
smtpClient.EnableSsl = true;
smtpClient.Send(message);