我尝试使用GMail SMTP发送电子邮件,并在其他各种问题上按照指南进行操作,但我仍然无法收到通过我的GMail帐户发送的电子邮件。
这是我正在使用的代码:
protected void emailSend_Click(object sender, EventArgs e)
{
var fromAddress = new MailAddress(inputEmail.Text, inputName.Text);
var toAddress = new MailAddress("spikey666@live.co.uk", "Liane Stevenson");
const string fromPassword = "*********";
const string subject = "Web Dev Wolf Message";
var body = inputMessage.Text;
var smtp = new SmtpClient
{
Host = "smtp.gmail.com",
Port = 587,
EnableSsl = true,
DeliveryMethod = SmtpDeliveryMethod.Network,
Credentials = new NetworkCredential("webdevelopwolf@gmail.com", fromPassword),
Timeout = 20000
};
using (var message = new MailMessage(fromAddress, toAddress)
{
Subject = subject,
Body = body
})
{
smtp.Send(message);
}
}
这些是我到目前为止检查的内容:
还有什么我可以错过的吗?
答案 0 :(得分:1)
在调用SmtpClient.Send()之前,添加:
smtp.UseDefaultCredentials = false;
根据MSDN SmtpClient page,默认情况下UseDefaultCredentials设置为false,但某处似乎存在将其设置为true的错误。
,在发送消息之前将其明确设置为false