2011-07-26 16 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で何をしていますか?申し訳ありませんが少し混乱しています –

関連する問題