using(SmtpClient client = new SmtpClient("smtp.gmail.com", 587))
{
// Configure the client
client.EnableSsl = true;
client.UseDefaultCredentials = false;
client.Credentials = new NetworkCredential(textBox1.Text, textBox3.Text);
client.DeliveryMethod = SmtpDeliveryMethod.Network;
MailMessage message = new MailMessage(
textBox1.Text, // From field
textBox2.Text, // Recipient field
textBox4.Text, // Subject of the email message
richTextBox1.Text // Email message body
);
client.Send(message);
MessageBox.Show("Email has been sent.");
}
Error: The SMTP server requires a secure connection or the client was not authenticated. The server response was: 5.5.1 Authentication Required.
我一直在使用gmail收到此错误,但我可以使用其他SMTP服务器发送邮件。凭证是正确的。
答案 0 :(得分:5)
看起来Gmail帐户存在安全问题。
我也面临同样的问题,然后从this post找到解决方案。
帖子提到您需要使用"访问安全性较低的应用程序"更改帐户权限设置。启用。
实际上,当您登录自己的Gmail帐户时,您会收到通知。
答案 1 :(得分:3)
message.To.Add(new MailAddress("abc@abc.com)); // replace with valid value
message.From = new MailAddress("abc@abc.com", "Contact Form");
message.Subject = Subject;
message.Body = string.Format(NewBody);
message.IsBodyHtml = true;
using (var smtp = new SmtpClient())
{
var credential = new NetworkCredential
{
UserName = "abc@gmail.com", // replace with valid value
Password = "qwerty123456" // replace with valid value
};
smtp.Credentials = credential;
smtp.Host = "smtp.gmail.com";
smtp.Port = 587;
smtp.EnableSsl = true;
smtp.Send(message);
}
Just这是我可以使用它的代码,只有这个代码的问题是有时邮件会出现垃圾邮件文件夹。
答案 2 :(得分:0)
您需要为您的Gmail帐户启用两步验证并获取应用程序密码。然后使用该密码而不是常规密码。