无法使用Gmail SMTP

时间:2015-07-04 08:06:03

标签: c# email smtp gmail

我有一个联系表单的网页 - 我希望将反馈发送到我的Gmail帐户。为此我创建了另一个用于发送这些消息的虚拟gmail帐户。代码看起来像这样

                MailMessage msg = new MailMessage();
                msg.To.Add("to_mail@gmail.com");
                msg.From = new MailAddress("from_mail@gmail.com");                
                msg.Subject = "Feedback";
                msg.Body = txtName.Text + " " + txtEmail.Text + " " + txtMessage.Text;
                msg.IsBodyHtml = true;

                SmtpClient client = new SmtpClient();
                client.Host = "smtp.gmail.com"; 
                client.Port = 587;
                client.UseDefaultCredentials = false;
                client.Credentials = new System.Net.NetworkCredential("from_mail@gmail.com", "password");
                client.DeliveryMethod = SmtpDeliveryMethod.Network;
                client.EnableSsl = true;                    
                client.Send(msg);

当我从我的VS项目中从localhost运行它时,此代码工作正常,但是一旦我编译并上传到Web,它就会停止处理此错误。

System.Net.Mail.SmtpException: The SMTP server requires a secure connection or the client was not authenticated. The server response was: 5.5.1 Authentication Required.

有没有人知道是什么导致它以及如何解决它?我已经在我的Gmail帐户中启用了安全性较低的应用程序。尝试了465端口,但这也不起作用。

非常感谢,Jozef

2 个答案:

答案 0 :(得分:1)

可能的原因:

  

在gmail中,如果当前登录区域和以前的登录区域是   不同,然后gmail在登录前问我们一些安全问题。所以   最好尝试通过您正在使用的系统中的浏览器登录一次   那个C#app。

答案 1 :(得分:1)

终于找到了答案。不得不点击这个链接与我的" From" Gmail帐户已登录。

https://accounts.google.com/b/0/DisplayUnlockCaptcha