ホームページ > バックエンド開発 > PHPチュートリアル > PHP コードで Gmail SMTP 認証が失敗するのはなぜですか?

PHP コードで Gmail SMTP 認証が失敗するのはなぜですか?

Linda Hamilton
リリース: 2024-12-31 19:09:09
オリジナル
262 人が閲覧しました

Why Am I Getting Gmail SMTP Authentication Failures in My PHP Code?

GMail SMTP サーバー経由で電子メールを送信できません: 認証エラー

PHP ページから GMail の SMTP サーバー経由で電子メールを送信しようとすると、次のようなエラーが発生することがよくあります。認証失敗エラーが発生し、ユーザーはイライラしてしまいます。提供されている PHP コードは、重要な構成設定が欠けているように見えるため、この問題に対して特に脆弱です。

この問題を解決するには、正しい PHP 構成が重要です。コードには次のパラメータを含める必要があります:

  • SSL 暗号化: Gmail SMTP には安全な接続が必要なので、「host」パラメータを「ssl://smtp」に設定する必要があります。 gmail.com」。これにより、SSL 暗号化が有効になり、安全なデータ送信が保証されます。
  • ポート設定: 「port」パラメータは、SSL 経由の SMTP に指定されたポートであるため、「465」に設定する必要があります。
  • 更新された PHP メール ライブラリ: 最新バージョンの PHP メール ライブラリ (PEAR) を使用していることを確認してください

これらの重要な設定を組み込むことで認証失敗の問題を解決する更新された PHP コードを次に示します。

// Pear Mail Library
require_once "Mail.php";

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

$headers = array(
    '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>');
}
?>
ログイン後にコピー

これらを実装することで、変更を加えると、PHP スクリプトは認証エラーが発生することなく GMail の SMTP サーバー経由で電子メールを送信できるようになります。

以上がPHP コードで Gmail SMTP 認証が失敗するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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