wordpress发送邮件内置函数

主机迁移到了国外,服务商告诉我这机器是封了mail函数的!!所以内置的mail()是用不了了!!

那就改用SMTP呗~

php使用PHPMailer类发送邮件,必须支持 fsockopen 函数


其实wordpress已经内置了phpmailer_init这个函数,根本就不用去装插件了~~

// smtp
function mail_smtp($phpmailer){
	$phpmailer->IsSMTP();
	$phpmailer->SMTPAuth = true; 		// 启用SMTPAuth服务
	$phpmailer->SMTPDebug  = 1; 		// 启用SMTP调试功能 1 = errors and messages , 2 = messages only
	$phpmailer->Port = 465; 		// SMTP端口,按照对应的协议填写
	$phpmailer->SMTPSecure = 'ssl'; 	// Choose SSL or TLS, if necessary for your server
	$phpmailer->Host = 'smtp.qq.com'; 	//邮箱的SMTP服务器地址
	$phpmailer->Username = 'no-rely@bcsytv.com'; 	//邮箱账号
	$phpmailer->Password = 'kjajadjdajdaklakdakj'; 	//邮箱密码
	$phpmailer->From = 'no-rely@bcsytv.com';//显示邮箱地址
	$phpmailer->FromName = 'Jalena Blog';
}
add_action('phpmailer_init','mail_smtp');

但是,使用如此配置还是无法发送邮件,一直无法连接到smtp服务器,使用telnet smtp.gmail.com 465命令,一直返回超时,遂与主机服务商联系,原来是他们默认拒绝来自vps发出的smtp请求!

服务商打开了限制,再测试

[root@MyServer ~]# telnet smtp.qq.com 465
Trying 14.17.57.241...
Connected to smtp.qq.com.
Escape character is '^]'.
Connection closed by foreign host.
 
# 连接成功!
  1. kuhanzhu 2016.01.09 10:23pm

    phpmailer类。

    • Jalena 2016.01.11 4:56pm

      是的.反正已经内置了,装插件核心代码也就这么几行而已

HTML tag cannot be used in this comment.