2017-06-14 5 views
0

私はC#WebアプリケーションでMailkitを使用しています。これまで問題はなかったが、送信しようとすると次のエラーが発生し始めた。C#Mail Kit - Office 365 - サーバーの問題

AuthenticationException:ErrorInProcessing:4.7.0一時的なサーバーエラー。後でもう一度お試しください。 PRX4 [SYXPR01CA0117.ausprd​​01.prod.outlook.com] 認証

私はもともとMailKit 1.6を実行していたが、これが起こっているように私はこの問題を解決しようとする試みで2.4にMailkitをアップグレードしました。

以下は、電子メールの送信に使用しているコードです。

 using (var client = new SmtpClient()) 
     { 
      client.LocalDomain = "smtp.office365.com"; 
      await client.ConnectAsync("smtp.office365.com", 587, SecureSocketOptions.StartTls).ConfigureAwait(false); 
      client.Authenticate("EmailAddress", "Password"); 
      await client.SendAsync(emailMessage).ConfigureAwait(false); 
      await client.DisconnectAsync(true).ConfigureAwait(false); 
     } 

誰もがこの問題に遭遇した場合、またはこれを回避するためのアイデアがある場合は、お知らせください。

マイクロソフトと呼ばれ、現時点で交換サーバーで問題が発生しているとは考えていないことを確認しました。より多くのテストは、私はoffice365罰金のインスタンスにtelnetすることができますを確認した後

UPDATE

。次のコードでPowershellを使用して電子メールを送信することもできます。

$msolcred = get-credential 
Send-MailMessage –From emailaddress –To emailaddress –Subject “Test Email” –Body “Test” -SmtpServer smtp.office365.com -Credential $msolcred -UseSsl -Port 587 

答えて

0

このエラーメッセージは、MailKitではなくSMTPサーバーからのものです。このエラーは、実際にという一時的なサーバーの問題であることを示しています。

注意:MailKit 2.4のようなものはありません。最新バージョンは1.16.1です。

+0

jstedfastねえ - 返事のおかげで、私のNuGetは私に出bonkingた右手、少数そして、avilのバージョンは1.16.1に戻っています。私は、Mailkitの問題を修正できるExchange Serverに影響を与えることができるように、Office 365のような多くの証拠なしにメールキットの問題であることを期待していました。私は多分誰かがこれを起こしてしまった、または私はMSが彼らの側を修正することを望む必要があります。 – Caz1224

+0

ちょうど確認されたMailkitが問題でした。それをロールアウトし、.netメールSTMPClientに置き換えて、すべてが再び動作しています。 – Caz1224

+0

その後、バグレポートを提出し、デバッグできるようにプロトコルログを含めてください。 – jstedfast

0

次の行に追加してみてください:

client.AuthenticationMechanisms.Remove("XOAUTH2"); 

ので、あなたのコードは次のようになります。

using (var client = new SmtpClient()) 
    { 
     client.LocalDomain = "smtp.office365.com"; 
     await client.ConnectAsync("smtp.office365.com", 587, SecureSocketOptions.StartTls).ConfigureAwait(false); 
     client.AuthenticationMechanisms.Remove("XOAUTH2"); 
     client.Authenticate("EmailAddress", "Password"); 
     await client.SendAsync(emailMessage).ConfigureAwait(false); 
     await client.DisconnectAsync(true).ConfigureAwait(false); 
    } 
+0

提案をお寄せいただきありがとうございました。私はMailkitをロールアウトし、それを標準の.net SMTPに置き換えて、問題を解決しました。私はMailKitの非同期呼び出しを非常に気に入っていましたが、それはあまり価値がありませんでした。 – Caz1224

関連する問題