ホームページ >バックエンド開発 >PHPチュートリアル >Gmail に送信する PHP メールが認証に失敗するのはなぜですか?どうすれば修正できますか?

Gmail に送信する PHP メールが認証に失敗するのはなぜですか?どうすれば修正できますか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2025-01-04 10:51:33285ブラウズ

Why is my PHP email sending to Gmail failing authentication, and how can I fix it?

PHP から GMail SMTP サーバー経由で電子メールを送信する際の認証エラーを修正する

を使用して電子メールを送信しようとすると、次の認証エラーが発生する場合があります。 PHP スクリプト:

authentication failure [SMTP: SMTP server does no support authentication (code: 250, response: mx.google.com at your service, [98.117.99.235] SIZE 35651584 8BITMIME STARTTLS ENHANCEDSTATUSCODES PIPELINING)]

このエラーは通常、指定された SMTP 構成が次の場合に発生します。不正確または不完全。この問題を解決するには、構成を確認して次のように調整します。

require_once "Mail.php";

$from = "Sandra Sender <[email&#160;protected]>";
$to = "Ramona Recipient <[email&#160;protected]>";
$subject = "Hi!";
$body = "Hi,\n\nHow are you?";

$host = "ssl://smtp.gmail.com";
$port = "465";
$username = "[email&#160;protected]";
$password = "testtest";

$headers = array ('From' => $from,
  'To' => $to,
  'Subject' => $subject);
$smtp = Mail::factory('smtp',
  array ('host' => $host,
    'port' => $port,
    'auth' => true,
    'username' => $username,
    'password' => $password));

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

if (PEAR::isError($mail)) {
  echo("<p>" . $mail->getMessage() . "</p>");
 } else {
  echo("<p>Message successfully sent!</p>");
 }

ホスト構成で ssl:// を指定すると、GMail SMTP サーバーへの安全な SSL 接続が確立されます。さらに、SSL に正しいポート (465) を指定する必要があります。

ユーザー名とパスワードが正しいことを確認してください。これらは GMail 認証情報である必要があります。

設定を調整すると、PHP スクリプトは認証失敗エラーが発生することなく GMail SMTP サーバー経由で電子メールを送信できるようになります。

以上がGmail に送信する PHP メールが認証に失敗するのはなぜですか?どうすれば修正できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。