ホームページ >バックエンド開発 >PHPチュートリアル >PHPMailer が SMTP ホストに接続できないのはなぜですか?

PHPMailer が SMTP ホストに接続できないのはなぜですか?

DDD
DDDオリジナル
2024-12-13 12:56:15653ブラウズ

Why Can't My PHPMailer Connect to the SMTP Host?

PHPMailer の「SMTP エラー: SMTP ホストに接続できませんでした」を解決する方法

メール送信に広く使用されている PHP ライブラリである PHPMailer、 「SMTP エラー: SMTP ホストに接続できませんでした。」というエラー メッセージが表示されることがあります。このエラーは通常、PHPMailer がホストおよびポート設定で指定された SMTP サーバーとの接続を確立できない場合に発生します。

この問題をトラブルシューティングするには、PHPMailer で使用される SMTP 設定と、PHPMailer で使用される SMTP 設定を比較することが重要です。 Thunderbird などの既知の動作する電子メール クライアント。この場合、Thunderbird からの設定は次のとおりです:

  • サーバー名: mail.exampleserver.com
  • ポート: 587
  • ユーザー名: [email protected]
  • 安全な認証: いいえ
  • 接続セキュリティ: STARTTLS

次に、PHP コードが SMTP 設定用に正しく構成されていることを確認します。提供されているコード サンプルは正しいように見えますが、次の点を必ず確認してください:

  • ホスト: これを「mail.exampleserver.com」または電子メール プロバイダーから提供された SMTP サーバー アドレスに設定します。
  • ポート: これを 587 に設定します。
  • SMTPAuth: SMTP を有効にするには、これを true に設定します。
  • ユーザー名: これを電子メール アドレスに設定します (例: [email protected])。
  • パスワード: これを電子メール アドレスに関連付けられたパスワードに設定します。

SMTP 設定が正しくても問題が解決しない場合は、次のことを検討してください。解決策:

SSL 証明書用の PHP バージョンの更新

最近 PHP をバージョン 5.6 にアップグレードした場合は、より厳格な SSL 動作が実装されている可能性があります。 PHPMailer のドキュメントでは回避策が提案されています:

$mail->SMTPOptions = array(
    'ssl' => array(
        'verify_peer' => false,
        'verify_peer_name' => false,
        'allow_self_signed' => true
    )
);

注: この解決策は単なる一時的な修正であり、無効な証明書または自己署名証明書を有効な証明書に置き換えるなど、適切な修正に置き換える必要があります。 .

以上がPHPMailer が SMTP ホストに接続できないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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