主机迁移到了国外,服务商告诉我这机器是封了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.
# 连接成功!
文章评论
phpmailer类。
@kuhanzhu 是的.反正已经内置了,装插件核心代码也就这么几行而已