日期:2014-05-17  浏览次数:20542 次

phpmailer 发邮件问题 , 服务器连接不上
用phpmailer发邮件,出现了两个错误...

1.
用phpmailer文档自带代码的时候,用gmail,sohu,126.....连不上服务器

但是后来用qq邮箱,能连上,也能发邮件,但是不稳定,有时候会发送失败...然后就估计是服务商的问题....

2.用qq邮箱做的邮件发送,本地100%好用,上传到服务器就不好使了
 
提示错误是SMTP Error: Could not connect to SMTP host. 

本以为是php.ini的问题,刚才看了看...

sendmail_from no value no value 
sendmail_path no value no value 
SMTP localhost localhost 
smtp_port 25 25 

服务器和本地的配置是一样的,为啥就不好用了....囧囧囧囧囧囧

下面这段代码本地测试过,可以发送,服务器不行
PHP code

//phpmailer类
require_once("./plugin/phpmailer/class.phpmailer.php");
require_once("./plugin/phpmailer/class.smtp.php");

//自己写的function
function SendMailToClient($client){
    $mail = new PHPMailer();
    
    $mail->IsSMTP();
    $mail->SMTPAuth = true;         // 设置为安全验证方式
    $mail->Host     = "smtp.qq.com";        // SMTP服务器地址
    $mail->Username = "xxxxxx@qq.com";      // 登录用户名
    $mail->Password = "psw";               // 登录密码
    
    $mail->From = "xxxxxx@qq.com";        // 发件人地址(username@163.com)
    $mail->FromName = "发件人名称";    

    $mail->WordWrap   = 50;
    $mail->IsHTML(true);            // 是否支持html邮件,true 或false
           
    $mail->AddAddress("$client");        //客户邮箱地址
    $mail->Subject = "标题";
    $mail->Body    = "文本内容";
    if(!$mail->Send()){
       echo "Message could not be sent. <p>";
       echo "Mailer Error: " . $mail->ErrorInfo;
       return FALSE;
    }
    return TRUE;
}
//方法调用
$client = "client@mail.com";
SendMailToClient($client);



------解决方案--------------------
是不是防火墙不允许你访问 smtp.qq.com?
------解决方案--------------------
顶吧 肯定是服务器的问题
服务器和本地的配置是一样的 这个有点怀疑
肯定有地方设置不一造成的
------解决方案--------------------
PHPMailer 记得有一个debug选项,楼主把这个设置为true,看看有虾米提示O(∩_∩)O~

马虎聚搜 专业的论文搜索引擎
------解决方案--------------------
smtp服务器用localhost?服务器端的配置和本地的应该是不一样的吧
照楼上的可以调试一下
顶上去