2012-02-16 50 views
0

我想向我的网站用户(ASP.NET,VS2010)发送电子邮件,目前我正在使用我的Gmail帐户发送电子邮件,但我收到以下错误:使用ASP.NET Web应用程序发送电子邮件时出错

ex = {"Failure sending mail."} 
InnerException = {"The remote name could not be resolved: '[email protected]'"} 

这是我的代码:

MailMessage mailObj = new MailMessage("[email protected]", "[email protected]", "test", "test2"); 
      SmtpClient SMTPServer = new SmtpClient("[email protected]"); 
      SMTPServer.Credentials = new System.Net.NetworkCredential("mygmailaccount", mygmailpassword); 
      try 
      { 
       SMTPServer.Send(mailObj); 
      } 
      catch (Exception ex) 
      { 
       string a = ex.Message; 
      } 

什么错误吗?我应该在我的web.config中做些什么?我怎么能找到我自己的主机的SMTP服务器?

回答

6

[email protected]不正确。你的意思可能是smtp.gmail.com。有关完整示例,请参阅以下问题。

Sending email in .NET through Gmail

+0

感谢,我把它改成smtp.gmail.com并得到了以下错误:消息=“SMTP服务器要求安全连接或客户端未通过身份验证,服务器响应为:5.7.0必须首先发出STARTTLS命令x22sm13327733bkw.11“ – 2012-02-16 14:35:18

+0

请查看链接中的答案。解决方案就在那里。您需要启用SSL并运行在端口587 – 2012-02-16 14:36:54

+0

是的,谢谢,那太棒了!但是如果我要从自己的主机发送邮件呢?我怎么找到它的端口和smtp? – 2012-02-16 14:39:34

1

您没有设置Gmail的参数正确:

SmtpClient smtpClient = new SmtpClient("smtp.gmail.com", 587); 
    smtpClient.EnableSsl = true; 
    smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network; 
    smtpClient.Credentials = new NetworkCredential("[email protected]", "password"); 
相关问题