ホームページ > バックエンド開発 > PHPチュートリアル > PHP から Gmail の SMTP サーバー経由でメールを送信すると認証エラーが発生するのはなぜですか?

PHP から Gmail の SMTP サーバー経由でメールを送信すると認証エラーが発生するのはなぜですか?

Patricia Arquette
リリース: 2024-12-20 00:23:08
オリジナル
389 人が閲覧しました

Why Am I Getting an Authentication Failure When Sending Emails via Gmail's SMTP Server from PHP?

GMail の SMTP サーバー経由でメールを送信できません?

PHP ページから GMail の SMTP サーバー経由でメールを送信しようとすると、次のような問題が発生する場合があります。エラー:

認証失敗 [SMTP: SMTP サーバーはいいえ認証をサポート (コード: 250、応答: mx.google.com at your service, [98.117.99.235] SIZE 35651584 8BITMIME STARTTLS ENHANCEDSTATUSCODES PIPELINING)]

このエラーは、PHP コードに正しい SSL 設定がない場合によく発生します。 。問題を修正する方法は次のとおりです:

修正された PHP コード:

<br>// Pear Mail Library<br>require_once "Mail.php" ;</p>
<p>$from = '<[email protected]>';<br>$to = '<[email protected]>';<br>$subject = 'こんにちは!';<br>$body = "こんにちは、お元気ですかあなたは?";</p>
<p>$headers = array(</p>
<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">'From' => $from,
'To' => $to,
'Subject' => $subject
ログイン後にコピー

);

$smtp = Mail::factory('smtp', array(

    'host' => 'ssl://smtp.gmail.com',
    'port' => '465',
    'auth' => true,
    'username' => '[email&#160;protected]',
    'password' => 'passwordxxx'
));
ログイン後にコピー

$mail = $smtp-> send($to, $headers, $body);

if (PEAR::isError($mail)) {

echo('<p>' . $mail->getMessage() . '</p>');
ログイン後にコピー

} else {

echo('<p>Message successfully sent!</p>');
ログイン後にコピー

}

主な違い:

  • 現在のホスト安全な接続を示す ssl:// が含まれています。
  • ポートは、標準の SSL ポートである 465 に変更されます。

これらの変更を実装することで、適切な SSL が確保されます。暗号化して認証失敗エラーを回避します。

以上がPHP から Gmail の SMTP サーバー経由でメールを送信すると認証エラーが発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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