phpcms が電子メールの送信に失敗した場合はどうすればよいですか? Phpcms メールが送信できない問題の解決
Web サイトをサーバーに置いたときに大きな問題が見つかりました。何が問題でしたか?
ローカルでは問題なく使えていたメールサービスが使えなくなってしまい、編集者は困惑し、ネット上で解決方法を必死で探しましたが、有効なものはありませんでした。
結局、サーバープロバイダーに問い合わせたところ、fsockopen 関数が無効になっていないことがわかりました (この関数は、phpcms がメールを送信するために非常に重要な関数です)。 phpcms のエラー ログ (phpcms エラー ログは error_log.php ファイルです) (エラー ログの場所は: ルート ディレクトリ/caches/error_log.php) クリックしてメールを送信するたびに、エラー ログが表示されることがわかります。同じエラーが発生します (fsockopen(): smtp.163.com に接続できません:25 (接続がタイムアウトしました))。
この文の本来の意味は、メールアドレスのポート25には接続できない(ここで編集者が使用しているメールサーバーは163)、つまりサーバーがポート25を禁止しているということです。
編集者はここで Alibaba Cloud サーバーを使用しています。サーバー ベンダーと相談した結果、Alibaba Cloud サーバーはデフォルトでメールのポート 25 を禁止していることがわかりました。これを開くには、申請する必要があります。面倒なので承認されない可能性があります。
ポート 465 のサーバーは禁止されていないため、エディタはポート 465 に変更しました。しかし、phpcmsのバックグラウンドのメール送信ポートを465に変更しただけではメール送信ができないので、どう変更すればよいのでしょうか?
これは実際には非常に簡単です。メール サーバー上の行を ssl://smtp.163.com に変更します (QQ または Sina に変更できますが、ssl:// を忘れないでください)前)、大丈夫ですよ。
それはどのように役に立ちましたか?実際、Alibaba サーバーでメールを送信する場合、ポート 25 は使用できません。使用する場合は、ポート 465 に変更してください。ちなみに、確認パスワードはクライアント認証パスワードであることを忘れないでください。メール設定テストは、メールを受け付けるメールボックスのアドレスです。
PHP 中国語 Web サイト、多数の無料 PHPCMS チュートリアル 、オンライン学習へようこそ!
以上がphpcms がメールの送信に失敗した場合の対処方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。