纯代码实现WordPress配置SMTP发送邮件功能

SMTP有啥子用?好配置?

作为一个不喜欢用插件的Wordpress站长,总是喜欢乱折腾,今天配置SMTP,发现其实是可以不用插件的,如果需要插件的话希望你还是使用WPJAM,这个插件可以实现Memcached加速,和实现简单的SEO,是个特别不错的Wordpress插件,说得有点远了。配置SMTP有什么用呢?可以防止水友注册验证邮箱唯一性,还可以帮助想找回密码的站友进行验证,那配置很难?配置SMTP发送邮件功能其实很简单,只需要几步就OK?

SMTP配置

找到你自己主题的functions.php(主机目录/wp-content/themes/主题名/functions.php)加入以下代码,并按照下面那个表填入你邮箱信息

 // 配置邮件
 add_action('phpmailer_init', 'mail_smtp');
 function mail_smtp( $phpmailer ) {
    	$phpmailer->FromName = 'mznzd.com'; // 发件人昵称
    	$phpmailer->Host = 'smtp.qq.com'; // 邮箱SMTP服务器
    	$phpmailer->Port = 465; // SMTP端口,不需要改
    	$phpmailer->Username = '123456@qq.com'; // 邮箱账户
    	$phpmailer->Password = 'aabbccddffgg'; // 此处填写邮箱生成的授权码,不是邮箱登录密码
    	$phpmailer->From = '123456@qq.com'; // 收件邮箱账户
    	$phpmailer->SMTPAuth = true;
    	$phpmailer->SMTPSecure = 'ssl'; // 端口25时 留空,465时 ssl,不需要改
    	$phpmailer->IsSMTP();
    }

修改其中的对应的参数就可以了,但是大部分提供配置代码的说明中没有明确写明第 8 行$phpmailer->Password 配置中的密码是邮箱第三方授权码,而不是邮箱的登录密码,这是不能成功发邮件的关键之处。下面仅以 QQ 邮箱为例,简单说一下如何开启邮箱 IMAP/SMTP 服务和获得第三方授权码。首先将上面的代码添加到当前主题函数模板 functions.php 中,并修改其中的相关信息。

登录你的 QQ 邮箱,依次点击,设置 → 账户,找到“POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV 服务”设置选项,开启邮箱“IMAP/SMTP 服务”。点击下面的“生成授权码 ”,按要求发送短信:配置邮件客户端,到指定的号码,之后点击“我已发送”,会自动生一个授权码,要记好这个授权码,因为只显示一次,没记住只能再次发送短信了,将这个授权码填写到配置信息中即可。我自己只试过 QQ 邮箱和 126 的,其它邮箱方法类似,貌似目前所有邮箱端口都可以设置为 465,都支持 ssl 加密。

邮箱SMTP 服务器地址 非 SSL 端口号 SSL 端口号
qq.comsmtp.qq.com25465 或 587
163.comsmtp.163.com25465 或 994
腾讯企业邮箱smtp.exmail.qq.com25465
网易企业邮箱smtp.qiye.163.com25994
126.comsmtp.126.com25465 或 994

Avatar photo

请叫我行长

人送外号行长,一个很爱折腾的医学生,总喜欢鼓捣东西,很喜欢数码产品和折腾服务器,然后一直在找一个志同道合又爱打游戏、爱折腾的御姐。你懂的!

相关推荐

WordPress手动升级更新方法

前段时间无法访问Wordpress官网,导致了国内Wordpress站点无法自动更新升级,8月份恢复了一段时间,但是现在又无法自动 ...

暂无评论

发表评论