从gmail发送电子邮件获得例外

时间:2011-07-26 14:23:12

标签: c#

我正在尝试使用Gmail向人们发送电子邮件。我不确定为什么这不正常。下面是抛出错误的屏幕截图。

Exception when emailing

下面是设置我的邮件客户端的代码。

string body = File.ReadAllText(@"C:\Data\MailTemplates\welcome.html");
        MailMessage message = new MailMessage();
        SmtpClient client = new SmtpClient("smtp.gmail.com");

        client.Port = 587;
        client.Credentials = new System.Net.NetworkCredential("sean.shydow", "password");
        client.EnableSsl = true;
        message.From = new MailAddress("sean.shydow@gmail.com");
        message.IsBodyHtml = true;
        ServicePointManager.ServerCertificateValidationCallback = delegate(object s, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors)
            { return true; };
        message.To.Add("sean@gmail.com");
        message.Subject = subject.Text;
        message.SubjectEncoding = System.Text.Encoding.Unicode;
        message.Body = body;
        message.BodyEncoding = System.Text.Encoding.Unicode;

1 个答案:

答案 0 :(得分:2)

端口587用于TLS。当您使用SSL时,请尝试端口465(有关详细信息,请参阅http://mail.google.com/support/bin/answer.py?answer=13287。)

同时确认您的计算机实际上可以连接到Gmail SMTP端口。一些ISP阻止它们以避免僵尸机器成为垃圾邮件工厂。对telnet smtp.google.com PORT 25,465和587,请PORT。如果你超时,那么你很可能会在某个IP范围之外连接到这些端口。