web-dev-qa-db-ja.com

Outlook SMTPClientサーバーエラー5.3.4 5.2.0

MVC .NET Webアプリケーションがあり、現在1年の大部分が安定して動作しています。しかし、今日、エラーコードが表示され、問題の解決方法を見つけることができません。

アプリケーションでは、SMTPClientを使用してメールを送信します。これには、Outlookの電子メールアカウントを使用します。これは今日まで問題なく機能していました。私が得るエラーコードはこれです:

メールボックスを使用できません。サーバーの応答は次のとおりでした:5.3.4 554-554 5.2.0 STOREDRV.Deliver;配信結果バナー

これが、アプリケーションで使用するコードです。

_var client = new SmtpClient
            {
                Host = WebConfigurationManager.AppSettings["EmailHost"],
                Port = 587,
                EnableSsl = true,
                DeliveryMethod = SmtpDeliveryMethod.Network,
                UseDefaultCredentials = false,
                Credentials = new System.Net.NetworkCredential(WebConfigurationManager.AppSettings["EmailSender"],
                    WebConfigurationManager.AppSettings["EmailSenderPassword"])
            };
_

WebConfigurationManager.AppSettings ["EmailHost"]は、webconfigでsmtp.live.comに設定されています。

この後、もちろん必要なデータやその他の情報を追加しますが、それは省略しました。コードの最後の部分に到達すると、エラーがスローされます。 client.Send(mail);

これまでに試してみましたが、うまくいきませんでした。

  • Outlook.live.comのメールアカウントにログインします。
  • Outlook.live.comのメールアカウントのセキュリティ設定を更新しました。
  • smtp.live.comsmtp-mail.Outlook.comに変更しました
  • ポートを25(同じエラーが発生した)と465(サーバーに到達しないエラーが発生した)に変更しました。
  • EnableSslをfalseに設定します(これを実行するとクライアントが機能しません)

SOおよびその他の類似または同じエラーコードを持つWebサイトにいくつかの投稿を見ました。しかし、それらは未回答になるか、メールアカウントへのログインを解決策としてマークします。私のために働きます。

メールアカウントにログインすると、Microsoftから新しいプライバシーとセキュリティの更新についての更新通知が届きました。 9月16日からです。同意する必要がある期間が3か月かどうかはわかりません。しかし、1週間前にメールアカウントからメールが送信され、昨日は送信に失敗しました。合意ポップアップに同意しましたが、まだ機能していません。

私が今何を試すことができるか、このエラーの原因は何ですか?

10
Robin

OK、私は私のシステムでこの問題を次のように解決しました:

次のように、送信元のアカウントとは異なるメールアドレスでメッセージを送信していました。

string from = "[email protected]";

だから私はそれを次のように変更しました:

string from = "[email protected]";

だから今はうまくいく...幸せな日

MailMessage mail = new MailMessage(from, to);
17
Andie

5.2.0 STOREDEVの応答は、電子メールサーバーのSPFが原因です。 https://en.wikipedia.org/wiki/Sender_Policy_Framework

ここで何が起こったかというと、[email protected]からメールを送信すると、メールサーバーはそのメールが正当なものであることを認証しようとします。 somwhere.comを所有していないため、somwhere.comからのメールを送信することを許可されているIPはsomwhere.comに尋ねられます。完全にスパムとして拒否しました。

したがって、メールを[email protected]に変更した場合、OutlookのSPFはそれをスパムとして拒否せず、正常に処理されました。

1
Hovestar

私のシステムでは、この問題を次のように解決しました:差出人アドレスは、以下のようなメールである必要があります。サーバードメインおよびポートとしてのcom」は587です。ファイアウォールに問題がある場合は、ファイアウォールに同じポート587のルールを追加できます。

0
arpit rai