2012-02-27 3 views
0

내 메일 보내기 아래 코드가 올바르게 작동하지 않습니다. 이메일을 보내거나 오류를 반환하지 않습니다. 아래 코드에서 예외가 전혀 발생하지 않습니다. 아래 코드에서 발생할 수있는 일반적인 오류를 잡으려면 어떻게해야합니까?내부 예외를 catch하는 방법

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

메일 메시지가 SMTP 서버에 전달되고 있다는 예외가없는 경우 'spow' 'passowrd'를 잘못 입력했는지 확인 했습니까? 나는 바이올린을 사용하여 요청이 나가고 응답이 무엇인지 확인하는 것이 좋습니다. –

+0

나는 패스워드 오타에 관해 같은 생각을하고 있지만 새로운 자격증 명을 설정하기 전에 기본 자격 증명을 선언해야하는 것에 관해서도 약간의 내용을 읽었습니다. 그것은 어리석은 것처럼 보이고 나는 분명히 그것이 정답이라고 말하지 않고 있지만 그것은 흥미가 있습니다! – SMT

+0

CsharpBeginner 당신이 여기 C#으로 새롭다는 것을 알았지 만 포맷 된 코드를 게시하면 당신이 묻고있는 것을 더 쉽게 이해할 수 있습니다. 질문에 대답하는 데 정말로 필요한 것이 무엇인지 생각해보십시오. 귀하의 질문을 형식화 할 때 나는 모든 것을 남겨 두었습니다. 그렇지만 사용과 네임 스페이스가 정말로 필요하다고 스스로에게 질문해야합니까? – ahsteele

답변

0

우선, 의도적인지 여부는 모르겠지만 client.Credentials 코드에는 "password"대신 "passowrd"가 입력되어 있습니다. 이것은 오타였습니까?

또한이 관련 게시물 c# SmtpClient class not able to send email using gmail에서 사용자는 이라고 말하면 새 NetworkCredentials를 설정하기 전에 UseDefaultCredentials을 false로 선언해야합니다. 또한, 여기에 링크 된 동일한 기사에서 방화벽이 간섭을 일으킬 가능성이 있다고 말했습니까?

나는 이것이 약간의 도움이 되었기를 바란다. 그러나 그렇지 않다면, 나는 이것에 대해 더 많이 알고 싶으므로 확실히 그것에 대해 계속 읽을 것이다! 행운을 빕니다!

관련 문제