2012-03-27 139 views
0

我想用c#发送电子邮件以下是我的代码。发送电子邮件时出错

try 
{ 
    System.Net.Mail.MailMessage msg = new System.Net.Mail.MailMessage(); 
    msg.From = new MailAddress("[email protected]"); 
    msg.To.Add("[email protected]");//Text Box for To Address 
    msg.Subject = "Testinng subject"; //Text Box for subject 
    msg.IsBodyHtml = true; 
    msg.Body = "testing comment is here..";//Text Box for body 
    msg.Priority = MailPriority.High; 

    SmtpClient client = new SmtpClient("smtp.gmail.com", 587); 
    client.UseDefaultCredentials = false; 
    client.Credentials = new NetworkCredential("[email protected]", ""); 
    client.Port = 587; 
    client.Host = "smtp.gmail.com"; 
    client.EnableSsl = true; 

    object userstate = msg;  
    client.Send(msg); 
} 
catch (Exception ex) 
{ 
    throw ex; 
} 

捐赠以下异常 enter image description here

+8

如果您只是要再次抛出异常,捕捉异常毫无意义。 – Bernard 2012-03-27 17:48:20

+0

确保端口没有被防火墙阻挡 – 2012-03-27 17:48:43

+0

@Erno我已经关闭了防火墙。 – 2012-03-27 17:50:00

回答

0

是很常见的互联网服务提供商阻止通过SMTP使用的端口,除了自己的传出邮件服务器。原因是为了防止垃圾邮件。

如果您遇到这种情况,您需要使用Internet提供商的邮件服务器而不是GMail服务器。

+0

对端口25进行简单的telnet测试将证实这一点。 – 2012-03-27 17:58:15