2013-01-31 10 views
5

System.Net.Mail名前空間を使用するコードは次のとおりです。Gmail/Yahooなどの送信メールサーバーを使用してC#でメールを送信できない465

MailMessage MyMailMessage = new MailMessage("[email protected]", "[email protected]", 

"write your subject Here ", "Hi,This is the test message "); 

MyMailMessage.IsBodyHtml = false; 

NetworkCredential mailAuthentication = new NetworkCredential("[email protected]","xxxxxxxx"); 

    SmtpClient mailClient = new SmtpClient("smtp.gmail.com", 465); 

    mailClient.EnableSsl = true; 

    mailClient.DeliveryMethod = SmtpDeliveryMethod.Network; 

    mailClient.UseDefaultCredentials = false; 

    mailClient.Credentials = mailAuthentication; 

    mailClient.Send(MyMailMessage); 

上記のコードタイムアウト例外は、465ポートを使用すると発生します。 25ポートが正常に動作します。 ヤフーアカウントの場合、465と25の両方が失敗メールを送信します。

Gmailとyahooアカウントを使用してメールを送信するには、とにかく465ポートがサポートされていますか。暗黙のSSLと文句を言わない仕事 -

参照さ http://blogs.msdn.com/b/webdav_101/archive/2008/06/02/system-net-mail-with-ssl-to-authenticate-against-port-465.aspx

はです以下のリンクは、Windowsメールがメッセージを送信するためにSystem.Net.Mailを使用していることを述べています。

この問題を解決する方法はありますか?事前に

おかげで

+0

try/catchブロックを使用していますか?どのようなエラーがスローされますか? – DGibbs

+0

どのような例外を表示することができますか?詳細スタックトレースを提供 – Cris

+1

ヘルプがあればわかりませんが、Google smptポート587で電子メールを送信します。 –

答えて

2

これは問題ではなくへの答えではありません。NET内蔵のメールクラスが必要な暗黙のSSL method.Youは、この目的のために、サードパーティ製のSMTPクライアントコンポーネントを使用する必要がサポートしていません。明示SSLと暗黙SSLの両方が可能です。

+0

ありがとうCris。うまくいけば.Netメールクラスは、今後のリリースで暗黙のSSLをサポートします。 –

関連する問題