次のような良い記事を見つけました
phpmailer クラス SMTP を使用してメールを送信できませんでした。トラブルシューティングのアイデアはコードの最初にあり、SMTPDebug$mail = new PHPMailer();//メール送信を作成します。 class
$mail->SMTPDebug = true; サーバーに接続します
次の送信元アドレスに失敗しましたDEBUG プロンプトを開きます: エラー: サーバーに接続できませんでした: (0) 接続できないため、方法を見てみましょうDu Niang に尋ねたところ、smtp サーバーに接続されていることが分かりました。fsockopen によって接続されているので、この機能が無効になっているかどうかを確認してみましょう。PHP.ini で 1,allow_url_fopen を探します。 = On オプションが On になっているかどうかを確認し、Off の場合は機能を使用できません。それでも使用できない場合はどうすればよいですか?開いていれば使用できるというわけではありません。使用するには、無効なメソッド
2、disable_functionsの中に fsockopen が含まれているかどうかを見てみましょう。 fsockopen を含むメソッドが見つかりました。削除してください。Apache を再起動してください。また、php.ini ファイルが開いているかどうかを確認してください。extension=php_openssl.dll が開いているかどうかを確認してください。 、php ディレクトリ内の 2 つのファイルを見てください。拡張ファイルを c/:windows/System32libeay32.dll にコピーしましたか。ssleay32.dllさらに、注 => 試したことはありません 方法 1: fsockopen 関数を pfsockopen 関数に置き換えます pfsockopen のパラメーターは基本的に fsockopen と同じであるため、したがって、 @fsockopen を @pfsockopen に置き換えるだけで済みます。幸運で pfsockopen が無効になっていない場合は、問題なく合格します方法 2: stream_socket_client 関数を使用する
一般的に fsockopen() は禁止されていますが、pfsockopen も禁止される可能性があるため、ここでは別の関数 stream_socket_client() を使用します。
stream_socket_client パラメーターは fsockopen とは異なるため、コードを次のように変更する必要があります:
$this->smtp_conn = stream_socket_client("tcp://".$host.":".$port, $ errno、$errstr、$tval);
以上です。
この記事は「909はターゲットです」ブログからのものです。このソースは必ず保管してください
リンクは次のとおりです:
http://www.68idc .cn/help/jiabenmake/qita/ 2014042793331.html
上記では、PHPmailer での電子メール送信の失敗に関する説明を、関連する側面も含めて紹介しました。PHP チュートリアルに興味のある友人に役立つことを願っています。