使用asp.net发送邮件失败。连接主机无法响应

时间:2016-01-20 05:14:40

标签: c# asp.net email

我想从我的c#application

发送一个简单的测试邮件

我正在使用以下代码

MailMessage mail = new MailMessage("from", "to");
mail.Subject = "TestEmailImportant";
mail.Body = "This mail is to test if this program is working";

SmtpClient smtpClient = new SmtpClient("smtp.gmail.com", 587);
smtpClient.Credentials = new System.Net.NetworkCredential()
{
    UserName = "xxxxxxxxx@gmail.com",
    Password = "xxxxxx"
};
smtpClient.EnableSsl = true;
smtpClient.Send(mail);
Label1.Text = "Email Sent";

点击按钮即可触发。

每当我点击按钮时,浏览器都会等待主持人"大约一分钟后我收到此错误

  

连接尝试失败,因为连接方没有   在一段时间后正确回应,或建立连接   失败,因为已连接的主机无法响应"某些IP"。

指向smtpClient.Send(mail);行。

1 个答案:

答案 0 :(得分:0)

注册Gmail并转到https://www.google.com/settings/security/lesssecureapps,您可以在其中查看设置。 访问安全性较低的应用

Turn off (default) ==> Turn On    

添加此代码后,

  MailMessage mail = new MailMessage("fromm@gmail.com", "toaddress@gmail.com");
                mail.Subject = "TestEmailImportant";
                mail.Body = "This mail is to test if this program is working";

                SmtpClient smtpClient = new SmtpClient("smtp.gmail.com", 587);

                smtpClient.Credentials = new System.Net.NetworkCredential()
                {
                    UserName = "XXXXXX@gmail.com",
                    Password = "YYYYYYYY"
                };

                smtpClient.EnableSsl = true;
                System.Net.ServicePointManager.ServerCertificateValidationCallback = delegate(object s,
                        System.Security.Cryptography.X509Certificates.X509Certificate certificate,
                        System.Security.Cryptography.X509Certificates.X509Chain chain,
                        System.Net.Security.SslPolicyErrors sslPolicyErrors)
                {
                    return true;
                };

                smtpClient.Send(mail);