ホームページ > バックエンド開発 > PHPチュートリアル > PHPMailer を使用して Gmail の SMTP サーバー経由で電子メールを送信すると、「SMTP AUTH が必要です」エラーが表示されるのはなぜですか?

PHPMailer を使用して Gmail の SMTP サーバー経由で電子メールを送信すると、「SMTP AUTH が必要です」エラーが表示されるのはなぜですか?

Patricia Arquette
リリース: 2024-12-31 20:39:09
オリジナル
292 人が閲覧しました

Why Am I Getting the

PHPMailer 経由で Gmail SMTP サーバーを使用して電子メールを送信できない: 「ポート 587 でのメッセージ送信には SMTP AUTH が必要です」

希望PHP メーラーを介して Gmail の SMTP (Simple Mail Transfer Protocol) サーバーで電子メールを送信するには、次のようにします。 「ポート 587 でのメッセージ送信には SMTP AUTH が必要です。」というエラー メッセージが表示されます。この障害は、セキュリティ対策の強化が必要であることを示しています。

この問題を解決するには、次のコード変更を組み込むことを検討してください。

$mail = new PHPMailer();
$mail->IsSMTP();
$mail->SMTPDebug = 1;
$mail->SMTPAuth = true;
$mail->SMTPSecure = 'ssl';
$mail->Host = "smtp.gmail.com";
$mail->Port = 465;
$mail->IsHTML(true);
$mail->Username = "[email protected]";
$mail->Password = "password";
$mail->SetFrom("[email protected]");
$mail->Subject = "Test";
$mail->Body = "hello";
$mail->AddAddress("[email protected]");

if (!$mail->Send()) {
    echo "Mailer Error: " . $mail->ErrorInfo;
} else {
    echo "Message has been sent";
}
ログイン後にコピー

特に、次の重要な調整に注意してください。

  • $mail->SMTPSecure = 'ssl'; を使用します。接続のセキュリティを強化するため。
  • 指定されたメール アカウントの 2 段階認証を無効にします。
  • ここに記載されている手順に従って、安全性の低いアプリによる Google アカウントへのアクセスを許可します。https://myaccount. google.com/lesssecureapps

または、$mail->SMTP 設定を変更することもできます。 to:

$mail->SMTPSecure = 'tls';
ログイン後にコピー

特定の SMTP サーバーでは接続が妨げられたり、SSL/TLS がサポートされていない可能性があることに注意してください。サーバー管理者に互換性を確認することをお勧めします。

これらの調整を実施すると、PHP Mailer を使用して Gmail の SMTP サーバーを介したシームレスな電子メール送信が期待できます。

以上がPHPMailer を使用して Gmail の SMTP サーバー経由で電子メールを送信すると、「SMTP AUTH が必要です」エラーが表示されるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート