首頁  >  文章  >  CMS教程  >  解決WordPress發送郵件提示'您的主機禁用了Mail函數”

解決WordPress發送郵件提示'您的主機禁用了Mail函數”

藏色散人
藏色散人轉載
2021-01-04 14:18:333638瀏覽

以下由WordPress教學專欄給大家介紹解決WordPress發送郵件提示「您的主機停用了Mail函數」的方法,希望對需要的朋友有所幫助!

解決WordPress發送郵件提示'您的主機禁用了Mail函數”

具體問題狀況

  最近在尋找主題BUG的時候發現一個很有趣的現象,就是SMTP 信箱設定的問題,評論回覆是可以是可以不正常發送的,但是卻沒有任何審核的提示,透過郵箱找回出現以下錯誤:

  無法發送電子郵件。

  可能原因:您的主機停用了mail()函數。

  偵測mail函數是否停用

  使用PHP探針來偵測主機商是否停用了mail函數。

  PHP探針程式碼如下,儲存為php檔案上傳到伺服器開啟就可以測試出來:

 <!--?php if (function_exists(&#39;mail&#39;)) { echo "支持mail()函数!"; } else echo "不支持mail()函数!"; ?-->

  解決方案

#  本來以為是衡天主機禁用了mail()函數,但透過PHP探針發現,並沒有停用。

  下面提供禁用和支援mail函數都出現mail函數被禁用的解決方案給大家,親身經歷啊,別再有人栽倒這裡了。

  主機停用mail函數解決方案

  透過上面的PHP探針,如果發現主機停用了mail函數則直接使用SMTP發送郵件來取代原來的mail函數

在這裡送上使用的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’);

  主機支援mail函數解決方案

  如果測試支援mail函數往下看:

  由於之前只有測試管理員的郵箱,後來我試著註冊新用戶,使用郵箱找回密碼的功能,結果郵件正常發送,毫無意外。

  接著,我更換SMTP郵箱帳戶為163郵箱,重新用管理員郵箱找回密碼,結果也是正常接收,毫無意外。

  終於,大徹了,原來收件信箱和寄件信箱不能一樣。這個結果另我很意外,居然是出現在這麼小的環節上,弄得我以為是主題問題,更改了好幾次代碼,囧,不過也因此修復了一個重大BUG。折騰啊,年輕不折騰還什麼時候折騰。

  不過話說回來,自從更換了163郵箱後,163郵箱裡就收到一大堆的審核啊,評論回复啊,註冊啊的郵件提醒,神煩有木有,乾脆就單獨弄個管理員信箱當作寄件信箱,這樣就可以有效減少接收的郵件,這下子耳根子清靜了。

以上是解決WordPress發送郵件提示'您的主機禁用了Mail函數”的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:csdn.net。如有侵權,請聯絡admin@php.cn刪除