「SMTP 認証が必要です」エラーのトラブルシューティング: 電子メール接続の保護
アプリケーションから電子メールを送信すると、「SMTP サーバーは安全な接続が必要か、クライアントが認証されませんでした。サーバーの応答は次のとおりです: 5.5.1 認証が必要です。」というエラーが発生する場合があります。これは、SMTP サーバーが認証されていない接続を拒否したか、提供された認証情報が正しくないことを示します。
これを解決する方法は次のとおりです:
安全なサインインを有効にする: Google は、現在のセキュリティ標準を満たしていないアプリからの安全でないサインイン試行をブロックする場合があります。 Google アカウントの設定にアクセスし、「安全性の低いアプリへのアクセス」(または、Google アカウントの設定に応じて同様のオプション)を有効にします。 注: これは、セキュリティ上の理由から通常は推奨されません。 代わりに、アプリ パスワード (利用可能な場合) を使用することを検討してください。
SMTP 資格情報の確認: SMTP 資格情報 (ユーザー名、パスワード、サーバー アドレス) が正確であることを再確認します。 これらの設定がアプリケーションの構成と正確に一致していることを確認してください。
コード例 (セキュリティ強化あり):
次のコードは、安全な電子メール送信を示しています。 重要なのは、「安全性の低いアプリ アクセス」の使用を回避することです。 代わりに、アプリ パスワードを使用した優先方法を強調表示します (プレースホルダーを実際の資格情報に置き換えます)。
<code class="language-csharp">MailMessage msg = new MailMessage(); msg.From = new MailAddress("mymailid@gmail.com"); msg.To.Add("receipientid@example.com"); msg.Subject = "test"; msg.Body = "Test Content"; msg.Priority = MailPriority.High; SmtpClient client = new SmtpClient(); // Use App Password here instead of your actual Gmail password client.Credentials = new NetworkCredential("mymailid@gmail.com", "YOUR_APP_PASSWORD"); client.Host = "smtp.gmail.com"; client.Port = 587; client.DeliveryMethod = SmtpDeliveryMethod.Network; client.EnableSsl = true; client.UseDefaultCredentials = false; client.Send(msg);</code>
Web.config 構成 (アプリパスワードを使用):
同様に、通常のパスワードの代わりにアプリ パスワードを使用するように Web.config
ファイルを更新します。
<code class="language-xml"><appSettings> <add key="smtpServer" value="smtp.gmail.com" /> <add key="EnableSsl" value="true" /> <add key="smtpPort" value="587" /> <add key="smtpUser" value="mymailid@gmail.com" /> <add key="smtpPass" value="YOUR_APP_PASSWORD" /> <!-- Use App Password here --> <add key="adminEmail" value="adminemail@example.com" /> </appSettings> <system.net> <mailSettings> <smtp from="mymailid@gmail.com"> <network enableSsl="true" host="smtp.gmail.com" password="YOUR_APP_PASSWORD" port="587" username="mymailid@gmail.com" /> <!-- Use App Password here --> </smtp> </mailSettings> </system.net></code>
これらの安全な構成を実装することで、信頼性の高い電子メール配信のための堅牢で保護された SMTP 接続を確立できます。 セキュリティを強化するために、必ず Google アカウントのセキュリティ設定からアプリ パスワードを生成して使用してください。
以上がSMTP 認証が必要です:「5.5.1 認証が必要です」エラーを修正するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。