2017-01-26 36 views
2

Office 365 SMTPおよびMailKit経由で電子メールを送信する際に問題があります。私が手に例外は次のとおりです。MailChit Office 365へのSmtpClient.Connect()の例外生成中: "既存の接続がリモートホストによって強制的に閉じられました"

未処理の例外:System.IO.IOException: トランスポート接続からデータを読み取ることができません:既存の接続はリモートホストによって強制的に を閉鎖しました。

System.Net.Sockets.SocketException:既存の接続が リモートホストに強制的に切断された

https://github.com/jstedfast/MailKit

コード:

var smtpClient = new SmtpClient(); 

smtpClient.Connect("smtp.office365.com", 587, true); 

のMicrosoft Office 365点の設定が正しいはずです:

https://support.office.com/en-us/article/POP-and-IMAP-settings-for-Outlook-Office-365-for-business-7fc677eb-2491-4cbc-8153-8e7113525f6c

奇妙なことは、Office 365がSSLが必要とされているにもかかわらず、私が次のものを使用するとすべてが機能するということです。

smtpClient.Connect("smtp.office365.com", 587, false); 

答えて

5

は答えに私を導いた、この質問を投稿した後に、別のエラーを得た:

ハンドシェイクは、解決策は以下のようにオフィス365に接続することで予期しないパケット形式

に失敗しました。代わりに:

smtpClient.Connect("smtp.office365.com", 587, SecureSocketOptions.StartTls); 
+0

これが正しい解決方法であることを確認するコメント。 SMTPは実際にはポート465でSSLでラップされた接続のみを使用します。ポート2と587は「SSL」を使用する場合はStartTLSを使用します。残念ながら、これは構成ガイドでは一般的によく説明されていません。 – jstedfast

+0

これはちょうど私を救った。私はドキュメントを読んで間違いを作った:) –

関連する問題