最后更新时间为 2021年1月25日
之前在 为WordPress添加评论邮件通知功能 一文中,配置WordPress的发信功能使用的是WP Mail SMTP插件。其实在主题的functions.php文件中配置一下,也可以实现博客的发信功能。这比安装插件要方便一些,而且更轻量。具体的配置也很简单,就几行的代码的事。我认为能通过修改代码实现的功能,就尽量不要使用插件。插件装的太多,反而会拖慢WordPress的运行速度。
第一步
如果要配置WordPress的发信功能,首先我们要开启发信邮箱的SMTP功能。否则,WordPress是有发信的功能了,但提供服务的邮箱却不能发信。以下以126邮箱为例:我们要先进入邮箱的设置页面,找到POP3/SMTP/IMAP设置的选项。然后开启IMAP/SMTP服务,并设置授权密码用于登录SMTP服务。
设置好发信邮箱以后,我们就要在主题的functions.php文件中,添加代码了。
第二步
在functions.php文件的尾部,添加以下代码:
add_action('phpmailer_init', 'mail_smtp');
function mail_smtp( $phpmailer ) {
$phpmailer->FromName = 'zlprime'; //发件人名称
$phpmailer->Host = 'smtp.126.com'; //修改为你使用的邮箱SMTP服务器
$phpmailer->Port = 465; //SMTP端口
$phpmailer->Username = '123@126.com'; //邮箱账户
$phpmailer->Password = '123123'; //邮箱密码
$phpmailer->From = '123@126.com'; //邮箱账户
$phpmailer->SMTPAuth = true;
$phpmailer->SMTPSecure = 'ssl'; //tls or ssl (port=25时->留空,465时->ssl)
$phpmailer->IsSMTP(); }
我们要将上面代码中的信息改成自己的信息。如发件人名称、SMTP主机地址、加密类型和端口号等。每个邮件服务提供商的端口号可能会不一样,这要自己去看邮箱的帮助文档。大部分邮箱是,不开启ssl端口号是25,开启ssl端口号是465。
例如:126邮箱的SMTP服务如果启用SSL加密,端口号就是465。接着再填入用户名和密码,用户名就是你的邮箱地址,但是密码并不是你登录邮箱的密码。这个密码是在开启SMTP服务时设置的授权密码。
另外需要注意一点的是,SMTPSecure 的值是要根据Port 的值确定的。如果端口是465,即开启ssl,那么它的值就是 ssl。如果端口是25,即不开启ssl,那么它的值就为空,什么东西都不用填。