【发布时间】:2014-11-08 12:13:41
【问题描述】:
这是我的代码
private void sendEmail()
{
var fromAddress = new MailAddress("gmail email", "name");
var toAddress = new MailAddress("email", "name");
const string fromPassword = "password";
const string subject = "ERROR";
var smtp = new SmtpClient
{
Host = "smtp.gmail.com",
Port = 587,
EnableSsl = true,
DeliveryMethod = SmtpDeliveryMethod.Network,
Credentials = new NetworkCredential(fromAddress.Address, fromPassword),
UseDefaultCredentials = false,
Timeout = 20000
};
using (var message = new MailMessage(fromAddress, toAddress)
{
Subject = subject,
Body = "this is an example",
})
{
smtp.Send(message);
}
}
当我调试应用程序时,它将在 smtp.Send(message) 处停止并显示错误消息“SMTP 服务器需要安全连接或客户端未通过身份验证。服务器响应为:5.5.1 身份验证需要吗?”
我该怎么办?有时有效,有时无效。
【问题讨论】:
-
“有时有效,有时无效”这是什么意思?它在哪种情况下有效?它在哪里失败了?
-
@Dnyanesh 场景都是一样的。当我尝试在此之前 5 分钟运行它时,它可以工作。但在那之后,它开始显示该错误。
-
在这种情况下,您的会话可能为 5 分钟。请检查会话超时值。
标签: c# asp.net email smtp gmail