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

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

Barbara Streisand
リリース: 2024-12-26 15:16:17
オリジナル
525 人が閲覧しました

Why am I getting an

PHP メーラーで Gmail SMTP サーバー経由で電子メールを送信する際のトラブル: 「SMTP AUTH が必要です」エラー

経由で電子メールを送信しようとすると、 PHP メーラーを使用する Gmail SMTP サーバーでは、ポートでのメッセージ送信に SMTP 認証が必要であることを示すエラーが発生する場合があります587. この問題は、次の手順を実行することで解決できます。

  1. SMTP 認証を確認する:
    PHP メーラー コード内で SMTPAuth フラグが true に設定されていることを確認します。これにより、電子メールを送信する前に認証が可能になります。
  2. ドメイン制限を確認する:
    Gmail では、特定のドメインが SMTP サーバー経由で電子メールを送信できるようにするためにドメイン制限が必要です。使用している Gmail アカウントを介してメールを送信することがドメイン (vatandesign.ir) に許可されていることを確認してください。
  3. SMTP セキュア フラグの更新:
    $mail->SMTPSecure フラグを 'ssl' に設定するか、 「tls」は Gmail SMTP サーバーとの安全な接続を確立します。
  4. SSL を確認してください利用可能状況:
    接続しようとしている SMTP サーバーが SSL 接続をサポートしていることを確認します。一部のサーバーは SSL または TLS をサポートしていない場合があります。
  5. 2 段階認証を無効にする:
    セキュリティを強化するために、Google は 2 段階認証を実装しています。メールの送信に使用している Gmail アカウントの 2 段階認証を無効にします。
  6. SMTP デバッグ値を変更します:
    $mail->SMTPDebug フラグを 1 または 2 に設定します。これにより、デバッグと詳細なエラー メッセージを提供します。
  7. テストとトラブルシューティング:
    PHP メーラーを実行します。コードを作成し、出力を監視します。エラー メッセージに問題や警告がないか調べてください。
  8. ポート設定の更新:
    $mail->Port の値を 465 または 587 に変更して実験します。サーバーごとに異なるポートが使用される場合があります。
  9. SMTP サーバーに連絡します:
    問題が解決しない場合は、SMTP サーバープロバイダーに連絡して詳細を確認することを検討してください。

サンプル作業コード:

この改訂されたサンプル コードは、問題の解決に役立つ可能性があります:

$mail = new PHPMailer(); // create a new object
$mail->IsSMTP(); // enable SMTP
$mail->SMTPDebug = 1; // debugging: 1 = errors and messages, 2 = messages only
$mail->SMTPAuth = true; // authentication enabled
$mail->SMTPSecure = 'ssl'; // secure transfer enabled REQUIRED for Gmail
$mail->Host = "smtp.gmail.com";
$mail->Port = 465; // or 587
$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";
}
ログイン後にコピー

このコードには、テストされ、動作することが確認されています。これらの提案を実装すると、PHP Mailer を使用して Gmail SMTP サーバー経由で電子メールを正常に送信できるようになります。

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

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