phpcms メールの送信に失敗した場合はどうすればよいですか?
phpcms メールの送信に失敗する理由:
1: 最善の方法は、企業メールを使用することです (理由はわかりません)通常のテストを使用すると失敗します)
2: ローカル テストは成功するが、サーバー上のテストが失敗する場合は、サーバー設定によって fsockopen 関数が無効になっている可能性があります。
phpinfo を使用して確認してください。 disable_functions 項目に fsockopen があるかどうか。そうであれば、これが問題であることを意味します。
解決策:
開く: phpcms\modules\member\classes\client.class.php,
78 行目を追加します: if( ! $fp = fsockopen($mail['server'], $mail['port'], $errno, $errstr, 30)) {
次のように変更します: if(!$fp = pfsockopen($ mail) ['server'], $mail['port'], $errno, $errstr, 30)) {
つまり、fsockopen を pfsockopen に変更します。
PS: 一部のホスティング プロバイダーは、ハッカーがプログラムの脆弱性挿入を悪用した後、fsockopen を使用して PHPDDOS 攻撃を実行するのを防ぐために、fsockopen 関数を無効にしています。
fsockopen 関数と pfsockopen 関数の違いは、pfsockopen がキープアライブを維持するため、ハッカーが接続番号攻撃を実行できないことです。
PHP 中国語 Web サイト、多数の無料PHPCMS チュートリアル、オンライン学習へようこそ!
以上がphpcmsメールの送信に失敗した場合の対処法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。