电子邮件没有从C#使用Gmail发送电子邮件地址
问题描述:
电子邮件不是从C#代码使用Gmail邮件设置发送的。它发出错误“服务器需要安全连接或客户端未通过身份验证”。电子邮件没有从C#使用Gmail发送电子邮件地址
电子邮件和密码的用于登录同一..
下面是完整的代码。
MailMessage mail = new MailMessage("<from>","<to>");
SmtpClient client = new SmtpClient("smtp.gmail.com", 587);
client.Credentials = new NetworkCredential("<email>", "<password>");
client.EnableSsl = true;
client.DeliveryMethod = SmtpDeliveryMethod.Network;
client.Timeout = 20000;
client.UseDefaultCredentials = false;
mail.Body = "Test email from C# Code";
mail.Subject = "Test Email";
Console.WriteLine("Attempting to Send Email");
try {
client.Send(mail);
Console.WriteLine("Email sent... ");
}
catch (System.Net.Mail.SmtpFailedRecipientException ex) {
Console.WriteLine("Could not send email to the mentioned recipient" + ex.Message);
}
catch (System.Net.Mail.SmtpException ex) {
Console.WriteLine("Could not send Email..\n" + ex.Message + "\n" + ex.StackTrace);
}
Console.ReadLine();
任何帮助表示赞赏:) - 亲切的问候,
答
你必须换以下行。
client.Credentials = new NetworkCredential("<email>", "<password>");
client.UseDefaultCredentials = false;
您必须先设置UseDedaultCredentials属性。
client.UseDefaultCredentials = false;
client.Credentials = new NetworkCredential("<email>", "<password>");
就是这样,它应该工作。
+0
谢谢你,似乎工作.. :) – 2013-03-02 06:44:12
您是否在使用Google的两步验证?如果是的话,你有没有尝试去激活它(仅用于测试目的)? – netblognet 2013-03-02 06:36:46
不知道这个:) ..什么是2步验证..但也尝试使用Live(hotmail)smtp服务器与他们的A/C,但也给出了另一个错误。 – 2013-03-02 06:40:33
你得到的错误是什么 – NetStarter 2013-03-02 06:43:14