我们在使用 wordpress 作为 blog 程序时,在很多场合下都需要实时发送邮件,比如激活帐号、找回密码、发送通知等,但是默认情况下是无法发送邮件的,需要给我们的 wordpress 站点配置邮件服务器信息。今天,为大家简单介绍一下 wordpress 无法发送邮件的解决方法。
方法一、使用插件
插件安装
我们可以选择一款发送邮件的插件,比如 WP Mail SMTP,在插件搜索框输入 WP Mail SMTP 搜索安装即可。
开启 SMTP 服务
可以选择第三方邮件服务器,也可以自建邮件服务器,选择开启 SMTP 服务,通过 SMTP 方式来发送邮件。为 QQ 邮箱为例,选择开启服务,并生成授权码。
配置 SMTP
开启邮件服务器的 SMTP 服务后,就可以配置 SMTP 了。点击 WP Mail SMTP 插件的 “设置” 选项,选择 “一般” 选项卡。
修改以下配置信息。邮件程序选择 “其他 SMPT”,SMTP 主机填写 “smtp.qq.com”,加密方式选择 “SSL”, SMTP 端口填写 “465”,SMTP 用户名填写邮箱地址,SMTP 密码选择上面生成的授权码。
发送邮件测试
配置完成后可以通过 “电子邮件测试” 功能测试是否可以正常发送邮件。
方法二、使用代码
也可以通过添加 hook 的方式来实现邮件发送,将以下代码添加到 functions.php 文件中即可。
add_action('phpmailer_init', 'mail_smtp'); function mail_smtp( $phpmailer ) { $phpmailer->FromName = '夏日阳光'; //发件人名称 $phpmailer->Host = 'smtp.qq.com'; //修改为你使用的邮箱SMTP服务器 $phpmailer->Port = 465; //SMTP端口 $phpmailer->Username = '123456789@qq.com'; //邮箱账户 $phpmailer->Password = 'ugndbkdandefecci'; //邮箱密码 $phpmailer->From = '123456789@qq.com'; //邮箱账户(授权码) $phpmailer->SMTPAuth = true; $phpmailer->SMTPSecure = 'ssl'; //tls or ssl (port=25时->留空,465时->ssl) $phpmailer->IsSMTP(); }
结束语
在本文中,插件法是以 WP Mail SMTP 为例为说明的,大家也可以使用其他的 SMTP 插件。使用插件或添加 hook 的方式都可以实现邮件发送功能,大家可根据自己的喜好自行选择其一即可。