ホームページ > バックエンド開発 > PHPチュートリアル > Gmail で PHPmailer を使用するときに発生する「SMTP Connect() Failed」エラーを解決する方法

Gmail で PHPmailer を使用するときに発生する「SMTP Connect() Failed」エラーを解決する方法

Patricia Arquette
リリース: 2024-10-26 03:23:02
オリジナル
456 人が閲覧しました

  How to Resolve

PHPmailer での SMTP 接続の失敗: 問題の解決

PHPmailer 経由で電子メールを送信すると、開発者は次のエラーが発生する場合があります:「メーラー エラー: SMTP」 connect() が失敗しました。」この問題は、Gmail の SMTP サーバーを使用するときによく発生します。

解決策は、Google の新しい認証メカニズムである XOAUTH2 の実装にあります。 PHPmailer が Gmail の SMTP に接続できるようにするには、Google アカウントで「安全性の低いアプリ」設定を有効にする必要があります。この手順により、厳密な暗号化プロトコルに準拠していないアプリケーションへのアクセスが許可されます。

さらに、ポート 465 で SSL を使用する代わりに、ポート 587 で TLS に切り替えます。TLS により、リクエストが安全に暗号化され、Google の要件を満たします。 .

以下は、これらの変更を組み込んだ変更されたコード スニペットです:

<code class="php">require_once 'C:\xampp\htdocs\email\vendor\autoload.php';

define ('GUSER','[email&#160;protected]');
define ('GPWD','your password');

// make a separate file and include this file in that. call this function in that file.

function smtpmailer($to, $from, $from_name, $subject, $body) { 
    global $error;
    $mail = new PHPMailer();  // create a new object
    $mail->IsSMTP(); // enable SMTP
    $mail->SMTPDebug = 2;  // debugging: 1 = errors and messages, 2 = messages only
    $mail->SMTPAuth = true;  // authentication enabled
    $mail->SMTPSecure = 'tls'; // secure transfer enabled REQUIRED for GMail
    $mail->SMTPAutoTLS = false;
    $mail->Host = 'smtp.gmail.com';
    $mail->Port = 587;

    $mail->Username = GUSER;  
    $mail->Password = GPWD;           
    $mail->SetFrom($from, $from_name);
    $mail->Subject = $subject;
    $mail->Body = $body;
    $mail->AddAddress($to);
    if(!$mail->Send()) {
        $error = 'Mail error: '.$mail->ErrorInfo; 
        return false;
    } else {
        $error = 'Message sent!';
        return true;
    }
}</code>
ログイン後にコピー

これらの変更を実装すると、Gmail の SMTP サーバーへの接続を正常に確立し、PHPmailer 経由で電子メールを送信できます。

以上がGmail で PHPmailer を使用するときに発生する「SMTP Connect() Failed」エラーを解決する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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