您的位置:首页 > 编程语言 > PHP开发

php使用smtp发送邮件报错Error: Cannot connenct to relay host smtp.163.com Error: ()解决方法

2017-02-19 14:17 941 查看
在使用smtp发送邮件时报错Error: Cannot connenct to relay host smtp.163.com Error: ()

解决方法如下:

<?php
require_once "email.class.php";
$smtpserver = "smtp.163.com";
$smtpserverport =25;
$smtpusermail = "test@163.com";
$smtpemailto = "xxxxxxxx@qq.com";
$smtpuser = "test";  //注此处是邮箱去掉@之后的名称包括@
$smtppass = "*******"; //此处不是邮箱的登录密码,而是客户端的授权码
$mailtitle = 'test mail';
$mailcontent = "<h1>just test!</h1>";
$mailtype = "HTML";
$smtp = new smtp($smtpserver,$smtpserverport,true,$smtpuser,$smtppass);
$smtp->debug = true;
$state = $smtp->sendmail($smtpemailto, $smtpusermail, $mailtitle, $mailcontent, $mailtype);
?>
1.检查自己的服务器的环境配置是否开通fsockopen;

  a.找到php.ini,查看两个地方,一个是allow_url_fopen,这个地方要设置成on;另一个地方是查disable_functions,如果后面出现了fsock,fsockopen,则需要把这两个函数去掉,重启apache,然后就可以正常发送邮件了。

  b. 如果是使用阿里云免费版云虚拟主机的话,登录主机管理平台在【高级环境配置】选项找到PHP.ini设置选项将PHP函数fsockopen设置启用即可;



2.再检查发送人的账户密码事是否正确;

最后测试下果然正常了



附件:email.class.php下载地址:http://download.csdn.net/detail/leesin2011/9764391
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  邮件 smtp php email