用PHPMailer来处理邮件发送,出了个奇怪的问题都不知道原因,请高手帮忙?网站在我机子上测试前后台都是发送成功的,可传到客户的空间上,却出现后台发送成功,前台却总发送失败,都不知道问题出在哪里?!急!

解决方案 »

  1.   


    $email_sql = "SELECT * FROM `tb_email` WHERE 1 LIMIT 1";
    $email_rst = $conn->execute($email_sql);
    $emailSetup = $email_rst->FetchRow();
    include('admin/phpmailer/class.phpmailer.php');
    $phpmail = new PHPMailer();
    $phpmail->IsSMTP();   // send via SMTP
    $phpmail->Host     = $emailSetup['EMAIL_HOST']; //"smtp1.site.com;smtp2.site.com"; // SMTP servers
    $phpmail->IsHTML(true); 
    $phpmail->SMTPAuth = true;     // turn on SMTP authentication
    $phpmail->Username = $emailSetup['EMAIL_USERNAME'];  // SMTP username
    $phpmail->Password = $emailSetup['EMAIL_PASSWORD']; // SMTP password
    $phpmail->Priority = 3;
    $phpmail->Encoding = "8bit";
    $phpmail->CharSet  = "UTF-8";
    $phpmail->From     = $_POST['email'];
    $phpmail->FromName = $_POST['guest'];
    $phpmail->Sender   = $emailSetup['EMAIL_FROM'];

    $phpmail->Subject = htmlspecialchars($_POST['company']);
    $phpmail->Body = ereg_replace("[\]","",htmlspecialchars($_POST['content']));
    $phpmail->AltBody = "";
    $phpmail->WordWrap = 0;
    $phpmail->AddReplyTo($_POST['email'],$_POST['name']);
    $phpmail->AddAddress($emailSetup['EMAIL_FROM']);
    //$phpmail->AddAddress('[email protected]');
    if($phpmail->Send()) 
    {
    $noError = 1;
    unset($mail);
    echo  "<script>alert('Thank you for your sharing');location=('Contact_us.php');</script>";
    exit;
    }
    else
    {
    $noError = 0;
    echo  "<script>alert('Message send faild,please wait for a moment and try it again!Thank you!');location=('Contact_us.php');</script>";
    exit;
    }前台页面代码
      

  2.   

    后台是同样的一段代码,    
    只是在    $phpmail->AddAddress($emailSetup['EMAIL_FROM']);这个地方的收件地址不一样而已,后台每次都可以准确的发送邮件,但是前台却不可以,初步怀疑和客户的邮箱有关系
      

  3.   

    看下PHPMailer给出的提示嘛检查下客户邮件格式
    或换个邮件地址试下