相关函数被禁之后,WordPress 邮件功能失效的解决方法

  如果主机禁用了 fsockopen 函数,并且禁用了 WordPress 默认的发送邮件的方法 stream_socket_client ,那么 WordPress 后台发送邮件的时候就会出问题。

  看见小练目前使用的 浪点云主机 就是禁用了 fsockopen 函数,不过它并未禁用 pfsockopen 函数,所以我们可以通过修改 WordPress 的一个文件实现正常的邮件发送功能。

  首先定位到 wp-includes 目录下的 class-smtp.php 文件,找到以下所示代码:

  @stream_socket_client(
	$host . ":" . $port,
	$errno,
	$errstr,
	$timeout,
	STREAM_CLIENT_CONNECT,
	$socket_context
);

  将其完全替换为以下代码并保存:

@pfsockopen($host,$port,$errno,$errstr,$timeout);

  这样之后 WordPress 的邮件发送功能就可以正常使用了,建议使用 WP-Mail-SMTP 插件来进行邮件发送以确保邮件送达。