次のコラム WordPress チュートリアル では、WordPress でメールを送信する際に「ホストがメール機能を無効にしています」という問題を解決する方法を紹介します。困っている友達に役立ちます!
具体的な問題の状況
トピックのバグを検索しているときに、非常に興味深い現象を最近発見しました。それは、SMTP メールボックスの問題です。設定を変更すると、コメントの返信が異常に送信されることがありますが、レビューのプロンプトは表示されません。メールで取得すると、次のエラーが表示されます:
メールを送信できません。
考えられる理由: ホストが mail() 関数を無効にしています。
メール機能が無効になっているかどうかを検出する
PHP プローブを使用して、ホスト プロバイダーがメール機能を無効にしているかどうかを検出します。
PHP プローブ コードは次のとおりです。これを php ファイルとして保存し、サーバーにアップロードして開いてテストします:
<!--?php if (function_exists('mail')) { echo "支持mail()函数!"; } else echo "不支持mail()函数!"; ?-->
Solution
当初はバランスの問題だと考えられていました Tian ホストでは mail() 関数が無効になっていましたが、PHP プローブを通じて無効になっていないことが判明しました。
ここでは、メール機能を無効にしたりサポートしたりしているにもかかわらず、メール機能が無効になる問題の解決策を示します。これは個人的な経験です。二度とここでつまずかないようにしてください。
ホストがメール機能を無効にしている場合の解決策
上記の PHP プローブにより、ホストがメール機能を無効にしていることが判明した場合は、元のメール機能の代わりに SMTP を直接使用してメールを送信します
ここで使用するSMTPメールボックス設定コード(例はブログメールボックス設定)をfunctions.phpに投げ込みます。
function mail_smtp( $phpmailer ){ $phpmailer->From = “lijie@php2.cc”; //发件人 $phpmailer->FromName = “PHP二次开发”; //发件人昵称 $phpmailer->Host = “smtp.ym.163.com”; //SMTP服务器地址 $phpmailer->Port = 25; //SMTP端口,常用的有25、465、587,具体谷歌百度 $phpmailer->SMTPSecure = “”; //SMTP加密方式,常用的有SSL/TLS,具体谷歌百度 $phpmailer->Username = “lijie@php2.cc”; //邮箱帐号 $phpmailer->Password = *; //邮箱密码(缙哥哥就用星号代替了) $phpmailer->IsSMTP(); //使用SMTP发送 $phpmailer->SMTPAuth = true; //启用SMTPAuth服务 } add_action(‘phpmailer_init’,’mail_smtp’);
ホストはメール機能ソリューションをサポートしています
テストがメール機能をサポートしている場合は、以下を参照してください:
以前はテスト管理者の電子メール アドレスしか持っていなかったので、後でメールでパスワードを取得する機能を使用して新しいユーザーを登録しようとしましたが、メールは何の問題もなく正常に送信されました。
次に、SMTP メール アカウントを 163 に変更し、管理者メールを使用してパスワードを取得したところ、結果は何の問題もなく正常に受信されました。
ようやく、受信メール アドレスと送信メール アドレスを同じにすることはできないことがわかりました。この結果には驚きました。実際には、非常に小さなリンクに表示されていました。テーマの問題だと思い、コードを数回変更しました。申し訳ありませんが、大きなバグも修正されました。トス、若いのになぜわざわざトスするの?
しかしそうは言っても、163 メールボックスを変更して以来、レビュー、コメントの返信、登録メールのリマインダーをたくさん受け取りました。煩わしいですか? 別にしたほうがよいでしょう。管理者のメールボックスは送信メールボックスとして使用されるため、受信する電子メールの数が効果的に削減され、耳も静かになりました。
以上がWordPressでメール送信時に「ホストがメール機能を無効にしています」という問題を解決するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。