2013-10-30 5 views
0

전자 메일을 보내기 위해 SMTP 클라이언트를 사용하는 웹 사이트가 있습니다. 오늘까지 모든 작업이 정상적으로 진행되었지만 갑자기 사이트를 디버깅 할 때 메일을 보내려고 할 때 시간 초과 오류가 발생합니다. 내가 내 사이트를 게시하고 이메일을 보내려고하면 잘 작동합니까 ???Smtp 전자 메일이 로컬 호스트에서 전송되지 않고 내 서버에서 전송됩니다.

SmtpClient mySmtpClient = new SmtpClient("mail.ACCOUNT.co.za"); 

    // set smtp-client with basicAuthentication 
    mySmtpClient.UseDefaultCredentials = false; 
    System.Net.NetworkCredential basicAuthenticationInfo = new 
     System.Net.NetworkCredential("ACCOUNTNAME", "PASSWORD"); 
    mySmtpClient.Credentials = basicAuthenticationInfo; 

    // add from,to mailaddresses 
    MailAddress from = new MailAddress("ACCOUNTEMAIL"); 
    MailAddress to = new MailAddress("EMAILADDRESS"); 
    MailMessage myMail = new System.Net.Mail.MailMessage(from, to); 

    // add ReplyTo 
    MailAddress replyto = new MailAddress("EMAILADDRESS"); 
    myMail.ReplyTo = replyto; 

    // set subject and encoding 
    myMail.Subject = "Password Request"; 
    myMail.SubjectEncoding = System.Text.Encoding.UTF8; 

    // set body-message and encoding 
    myMail.Body = "MESSAGE"; 
    myMail.BodyEncoding = System.Text.Encoding.UTF8; 
    // text or html 
    myMail.IsBodyHtml = true; 
    mySmtpClient.Send(myMail); 

어제는 괜찮 았지만 아무 것도 변경하지 않았습니다.

+2

이것은 분명히 네트워크 문제이며 코드에는 문제가 없습니다. – James

+0

받은 오류는 무엇입니까? 네트워크 오류처럼 들립니다. 또한, 귀하의 질문은 무엇입니까? –

+0

감사합니다. 그것은 모두가 말하고있는 것이지만, 나는 그것을 이해할 수 없다. 내 네트워크는 괜찮아. 어제부터 변경된 사항이 없습니다 : ( –

답변

2

이것은 컴퓨터에서 smtp 서버에 액세스 할 수없는 네트워크 문제 일 가능성이 큽니다.

디버깅 할 때 나는 보통 smtp 메일의 네트워크 전송을 비활성화하고 모든 보내는 메일을 임시 디렉토리에 파일로 저장하도록 리디렉션합니다. 따라서 디버깅이 훨씬 쉬워지고 실제 사용자가 실수로 전자 메일을받을 위험이 없습니다.

다음 섹션을 개발에 추가하십시오. web.config - 코드를 변경하지 않아도됩니다. 다른 사람이 문제가있는 경우

<system.net> 
    <mailSettings> 
    <smtp deliveryMethod="SpecifiedPickupDirectory" from="[email protected]"> 
     <specifiedPickupDirectory pickupDirectoryLocation="c:\temp" /> 
     <!-- The network host setting isn't used, but without it an exception 
     occurs when disposing of the SmtpClient.--> 
     <network host="localhost"/> 
    </smtp> 
    </mailSettings> 
</system.net> 

샘플 http://coding.abel.nu/2012/04/send-smtpclient-mails-to-disk/

+0

감사합니다.이 문제의 원인을 파악할 수있을 때까지 임시 해결책으로 web.config 파일을 변경합니다. 이 테스트 메일을 보낼 수는 있지만 지금은 솔루션을 사용할 수 있습니다. –

+0

텔넷을했는데 리디렉션되는 것 같습니다. 왜 그런지 모르겠습니다. –

0

확인에서 가져옵니다. 텔넷을 수행하고 SMTP 서버에 연결할 수 있는지 확인하십시오. 내 문제는 내 네트워크가 알려지지 않고 변경되었고 내 이메일을 차단하기 시작한 것이 었습니다.

관련 문제