2011-07-26 4 views
0

Gmail을 사용하여 이메일을 보내려합니다. 이것이 올바르게 작동하지 않는 이유가 확실하지 않습니다. 아래는 던져진 오류의 스크린 샷입니다. 여기 아래Gmail에서 이메일을 보내지 못하게하기

Exception when emailing

내 메일 클라이언트를 설정하는 코드입니다.

string body = File.ReadAllText(@"C:\Data\MailTemplates\welcome.html"); 
     MailMessage message = new MailMessage(); 
     SmtpClient client = new SmtpClient("smtp.gmail.com"); 

     client.Port = 587; 
     client.Credentials = new System.Net.NetworkCredential("sean.shydow", "password"); 
     client.EnableSsl = true; 
     message.From = new MailAddress("[email protected]"); 
     message.IsBodyHtml = true; 
     ServicePointManager.ServerCertificateValidationCallback = delegate(object s, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors) 
      { return true; }; 
     message.To.Add("[email protected]"); 
     message.Subject = subject.Text; 
     message.SubjectEncoding = System.Text.Encoding.Unicode; 
     message.Body = body; 
     message.BodyEncoding = System.Text.Encoding.Unicode; 
+0

예외의 콘솔 그림을 보려면 마우스 오른쪽 버튼을 클릭하고 새 창이나 탭에서 엽니 다. –

+2

적어도 호출 스택의 처음 몇 줄이 텍스트로 포함 된 경우 도움이됩니다. – ChrisF

+1

@Sean 대신 예외 텍스트를 게시 할 수 없습니까? 콘솔 앱의 스크린 샷은별로 유용하지 않습니다 ... –

답변

2

포트 587은 TLS 용입니다. SSL을 사용하면서 포트 465를 사용해보십시오 (자세한 내용은 http://mail.google.com/support/bin/answer.py?answer=13287 참조).

컴퓨터가 실제로 Gmail SMTP 포트에 연결할 수 있는지 확인하십시오. 일부 ISP는 차단 된 시스템이 스팸 공장이되지 않도록 차단합니다. PORT에 대해 telnet smtp.google.com PORT, 25, 465 및 587을 사용해보십시오. 시간 초과가 발생하면 특정 IP 범위를 벗어난 포트에 방화벽이 연결될 가능성이 높습니다.

+0

방금 ​​시도해 본 것과 같은 오류가 있습니다. –

+0

컴퓨터가 Gmail SMTP 포트에 실제로 연결할 수 있습니까? 일부 ISP는 차단 된 컴퓨터가 스팸 공장이되는 것을 막기 위해 차단합니다. 'PORT' 25, 465, 587에'telnet smtp.google.com PORT'을 시도해보십시오 (이제는 내 답변에 편집 됨). –

+0

어디에서 telnet smtp.google.com을 사용하고 있고 포트 25 465 및 587로 무엇을하고 있습니까? 죄송합니다. 조금 혼란 스럽습니다. –

관련 문제