萬網的主機看起來都需要透過 SMTP 來傳送郵件,而且要開啟 fsockopen(在萬網後台可以開啟,不會的請聯絡萬網客服) 。但WordPress 的SMTP 傳送方式為steam_connect_client 而非fsockopen,所以,開啟/wp-include/class-smtp.php 大概是274-282 行的位置,找出下面的程式碼:
$socket_context = stream_context_create($options)#;
$this->smtp_conn = @# stream_socket_client(
$host . ":" . $port ,
$errno,
#$errstr,
$timeout,
STREAM_CLIENT_CONNECT,
$socket_context
);
修改為以下程式碼:
#$this->smtp_conn = @fsockopen#($host##,$ port,$errno,#$errstr,$timeout);#
接著使用 WP SMTP 或 WP MAIL SMTP 這類 SMTP 發送郵件的插件,配置好一般就可以了。
特別注意:由於這個方法是直接修改了 WordPress 的核心程式碼,一旦升級了 WordPress 版本,就需要重新修改,請務必記得! ! !
以上是萬網主機wordpress無法傳送郵件SMTP的問題解決方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!