2012-02-27 57 views
0

我的发送邮件下面的代码无法正常工作。它不发送任何电子邮件或返回任何错误。我没有从下面的代码中得到一个抛出的异常。我将如何设置以捕捉下面代码中可能发生的常见错误?如何捕捉内部异常

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.IO; 
using System.Net.Mail; 
using System.Net; 

namespace DataAccess 
{ 
    public class DLSendMails 
    { 
     public string SendCommentMails(String MemberEmail, int 
     { 
      try 
      { 
       using (SmtpClient client = 
         new SmtpClient("smtpout.secureserver.net")) 
       { 
        client.Credentials = 
        new NetworkCredential("[email protected]", "pwd"); 

        //client.Credentials 
        //   = CredentialCache.DefaultNetworkCredentials; 
        //client.DeliveryMethod 
        //   = SmtpDeliveryMethod.Network; 

        string to = MemberEmail; 

        var mail = new MailMessage(); 
        mail.From = new MailAddress("[email protected]", 
               "mysite.com"); 
        mail.To.Add(to); 

        mail.Subject = "New Comment recieved at mysite.com"; 
        mail.Body = "You can read your comment and access your " 
           + "profile page by using this link.\n" 
           + "http://www.mysite.com/Member.aspx?UserID=" 
           + PicID; 
        mail.IsBodyHtml = true; 

        client.Send(mail); 
        return "sent mail"; 
       } 
      } 
      catch (Exception ex) 
      { 
       // exception handling 
       return ex.ToString(); 
      } 
     } 
    } 
} 
+3

你是否检查过你没有拼错(sp?)'passowrd':)如果没有例外邮件正在转发到你的smtp服务器。我建议你尝试使用fiddler来查看请求是否发送以及响应是什么。 – 2012-02-27 02:34:45

+0

我认为密码输入错误是一样的,但我也做了一些阅读,可能需要在设置新凭证之前声明默认凭证。这似乎很愚蠢,我当然不是说这是一个正确的答案,但它让我很感兴趣! – SMT 2012-02-27 02:43:45

+0

CsharpBeginner我意识到你在这里和C#是新的,但发布格式良好的代码使得它更容易理解你在问什么。进一步思考回答问题的真正必要条件。当我格式化你的问题,我离开了一切,但你应该问问自己的使用和名称空间真正必要? – ahsteele 2012-02-27 02:51:12

回答

0

首先,我不知道这是否是故意的,但在你的代码client.Credentials你有“passowrd”类型,而不是“密码”。这是否是一个错字?

而且,在此相关的职位c# SmtpClient class not able to send email using gmail用户说,必须声明UseDefaultCredentials假你设置新NetworkCredentials之前。另外,在我已经链接到这里的同一篇文章中,也许有可能是防火墙干扰?

我希望这可能有一些帮助,但如果没有,我一定会继续阅读有关它,因为我想更多地了解这一点!祝你好运!