这个问题在这里已有答案:
这是我的代码
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(消息)并显示错误消息“SMTP服务器需要安全连接或客户端未经过身份验证 . 服务器响应是:5.5.1身份验证是否必需?”
我该怎么办?有时候它有效,有时则不然 .
1 回答
您有多种可能遇到此问题 . 检查以下事项
1)重新检查您是否提供了正确的电子邮件和密码 .
2)检查您的GMail帐户是否有两步验证 .
3)有时Gmail停止发送邮件,因此登录您的Gmail帐户并且它可能会开始工作 .
4)如果您的gmail帐户和 生产环境 服务器有不同的时区问题,请参阅此链接 .
访问不太安全的应用程序Link .
希望一旦这对你有所帮助 .