1. ホーム
  2. c#

[解決済み】Gmailエラー :SMTPサーバーが安全な接続を要求しているか、クライアントが認証されていません。というサーバーの応答がありました。5.5.1 認証が必要です

2022-03-30 16:02:49

質問内容

以下のコードでメールを送信しています。このコードは、私のローカルマシンでは正常に動作します。しかし、本番サーバーでは、エラーメッセージが表示されます。

var fromAddress = new MailAddress("[email protected]");
var fromPassword = "xxxxxx";
var toAddress = new MailAddress("[email protected]");

string subject = "subject";
string body = "body";

System.Net.Mail.SmtpClient smtp = new System.Net.Mail.SmtpClient
{
    Host = "smtp.gmail.com",
    Port = 587,
    EnableSsl = true,
    DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network,
    UseDefaultCredentials = false,
    Credentials = new NetworkCredential(fromAddress.Address, fromPassword)       
};

using (var message = new MailMessage(fromAddress, toAddress)
{
    Subject = subject,
    Body = body
})

smtp.Send(message);

そして、本番サーバーからコードを実行した後、私のGmail A/cに次のようなメールが届きました。

<ブロッククオート

こんにちは。

最近、誰かがあなたのパスワードを使用して、あなたの Google にログインしようとしました。 アカウント [email protected]. この人物は、以下のようなアプリケーションを使用していました。 電子メール、クライアント、またはモバイルデバイスとして。

ハイジャック犯がサインインしようとした場合に備えて、サインインの試行を阻止しました。 アカウントにアクセスします。サインイン試行の詳細をご確認ください。

2014年1月3日金曜日 13時56分08秒 UTC IPアドレス: xxx.xx.xx.xxx (abcd.net.)所在地。米国ペンシルバニア州フィラデルフィア市

このサインインの試みに見覚えがない場合、他の人がサインインしている可能性があります。 は、あなたのアカウントにアクセスしようとしています。アカウントにサインインして すぐにパスワードをリセットしてください。

パスワードのリセット

このような場合、アカウントへのアクセスに問題がある可能性があります。 に記載されているトラブルシューティングのステップを完了します。 http://support.google.com/mail?p=client_login

Google アカウントチーム

解決するには?

この現象は、異なるタイムゾーンやIPアドレスのコンピュータからログインしようとしたときに発生します。本番サーバーとメールIDが異なるタイムゾーンにある場合。この2つのうちどちらかを選択してください。

1) リモートアクセスで本番サーバーにログインし、認証情報を使ってgmailに一度サインインします。確認を求められるので、確認してログアウトする。

または、2)ローカルコンピュータでgmailにログインし、次のようにします。 リンク を選択し この活動を振り返る そして適切な対処をすることです。