服務器之家:專注于服務器技術及軟件下載分享
分類導航

DEDECMS|帝國CMS|Discuz|PHPCMS|Wordpress|ZBLOG|ECSHOP|蘋果CMS|極致CMS|CMS系統|

服務器之家 - 建站程序 - Wordpress - 阿里云虛擬主機WordPress無法發送郵件解決方案

阿里云虛擬主機WordPress無法發送郵件解決方案

2022-02-23 21:49themebest Wordpress

因阿里云虛擬主機禁用了mail()函數,導致WordPress系統無法使用默認mail()函數發送郵件,即便改用SMTP插件也無法成功發送(因為阿里云虛擬主機提供的是fsockopen,而SMTP所使用的是steam_connect_client),因此想要實現SMTP成功發送郵件,就要

因阿里云虛擬主機禁用了mail()函數,導致WordPress系統無法使用默認mail()函數發送郵件,即便改用SMTP插件也無法成功發送(因為阿里云虛擬主機提供的是fsockopen,而SMTP所使用的是steam_connect_client),因此想要實現SMTP成功發送郵件,就要修改wordpress程序源文件class-smtp.php,把wordpres的SMTP發送方式改為fsockopen方式。

阿里云虛擬主機WordPress無法發送郵件解決方案

1、登錄阿里云主機管理控制臺,進入:站點信息-高級環境設置-php.ini設置,PHP函數fsockopen設置:啟用

2、修改wordpress系統文件,打開 /wp-includes/class-smtp.php,在274-283 行位置,查找以下代碼:

  1. $socket_context = stream_context_create($options); 
  2. //Suppress errors; connection failures are handled at a higher level 
  3. $this->smtp_conn = @stream_socket_client( 
  4.      $host . ":" . $port, 
  5.      $errno, 
  6.      $errstr, 
  7.      $timeout, 
  8.      STREAM_CLIENT_CONNECT, 
  9.      $socket_context 
  10. ); 

替換為以下代碼:

  1. $this->smtp_conn = @fsockopen($host,$port,$errno,$errstr,$timeout); 

然后使用Easy WP SMTP或 WP MAIL SMTP 這類 SMTP 發送郵件的插件,配置好一般就可以了。

特別注意:由于這個方法是直接修改了 WordPress 的核心代碼,一旦升級了 WordPress 版本,就需要重新進行修改,切記!!!

原文地址:https://www.themebest.com/aliyun-mail-failure/

延伸 · 閱讀

精彩推薦
欧美日韩色另类综合|亚洲中文字幕无码一区|99国产真实露脸精彩对白|d专干日本老太婆|欧美狂野可乐视频在线观看