建站教程

建站教程

Products

当前位置:首页 > 建站教程 >

WordPress免插件实现SMTP邮件服务(WordPress SMTP邮件发送插件:WP Mail SMTP)

GG网络技术分享 2025-03-18 16:13 0


WordPress免插件实现SMTP邮件服务

最近博客搬家到万网的免费虚拟主机上,发现了一个bug,邮件一直无法发送。WordPress程序(3.8版本以后)默认使用的是stream_socket_client函数发信,而万网的免费虚拟主机使用的是fsockopen函数发信,因此,我们需做以下修改:

第一步、在万网的免费虚拟主机后台启用fsockopen函数(PHP.in设置 → PHP函数设置)。如下图所示:

第二步、修改WordPress程序中wp-includes/class-smtp.php文件,找到以下内容部分(202行左右):

$this->smtp_conn = @stream_socket_client(

$host . ":" . $port,

$errno,

$errstr,

$timeout,

STREAM_CLIENT_CONNECT,

$socket_context

);

修改为:

$this->smtp_conn = fsockopen($host, $port, $errno, $errstr);

第三步、安装WP SMTP插件(国人开发的一款插件)https://wordpress.org/plugins/wp-smtp/ ,提供一个免插件实现SMTP邮件服务的方法,将以下代码添加到主题functions.php文件中:

//使用smtp发送邮件,以163邮箱为例

add_action('phpmailer_init', 'mail_smtp');

function mail_smtp( $phpmailer ) {

$phpmailer->FromName = '氪星人'; //发件人的名称

$phpmailer->Host = 'smtp.163.com'; //修改为你使用的SMTP服务器

$phpmailer->Port = 25; //SMTP端口

$phpmailer->Username = 'lyc@163.com'; //你的邮箱账号

$phpmailer->Password = '******'; //邮箱密码

$phpmailer->From = 'admin@163.com'; //你的邮箱账号

$phpmailer->SMTPAuth = true;

$phpmailer->SMTPSecure = ''; //ssl对应的端口465

$phpmailer->IsSMTP();

}

WordPress SMTP邮件发送插件:WP Mail SMTP

邮件发送是网站的基础功能,WordPress在注册、找回密码、评论通知等地方也会涉及到邮件的发送。一般的虚拟主机都是有自带PHP邮件功能的,VPS、云服务器的话,则是需要自己配置相关功能。即便主机能够正常发送邮件,由于PHP默认的邮件功能发送的邮件很容易被当做垃圾邮件处理,送达率不高,所以我们还是非常推荐使用SMTP来发送邮件。

目前WordPress的SMTP相关插件还是有很多的,这里就介绍下WP Mail SMTP插件的使用。

WP Mail SMTP安装设置

进入后台插件>安装插件,搜索WP Mail SMTP,安装并启用。

进入设置>Email,填写相关信息,如图:

WP Mail SMTP安装

具体的信息请根据自己使用的SMTP邮箱来定。如果是QQ邮箱的话,还需要到邮箱的设置>账户>POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务下面开启SMTP功能。关于不同邮箱的设置问题,可以在网上搜索相关邮箱的SMTP设置教程。

设置填写好以后记得保存,然后可以测试是否能够正常发送邮件,如图:

WP Mail SMTP

填写接收邮箱,点击发送按钮,如果能够收到邮件,则说明配置正常了。

标签:

提交需求或反馈

Demand feedback