SMTP无法使用php邮件程序类

时间:2012-04-09 11:58:09

标签: php email phpmailer

我有两个帐户:

no-reply@weddinggrabs.com
no-reply@appovio.com

传入POP3:pop.secureserver.net(995)
传出SMTP:smtpout.secureserver.net(80,3535,25,465)

这些工作使用电子邮件客户端,如Thunderbird,post-box等,但没有使用php-mailer:

        error_reporting(0);
        require_once ("class.phpmailer.php");// PHP MAILER FOR SENDING EMAILS

        $mail = new PHPMailer();

        define('EMAIL_HOST','smtpout.secureserver.net');
        define('EMAIL_USER','no-reply@weddinggrabs.com');
        define('EMAIL_PASSWORD','xxxxxxxx');

        $mail->IsSMTP();                    
        $mail->Port     = 465;              
        $mail->Host     = EMAIL_HOST;       
        $mail->Username = EMAIL_USER;       
        $mail->Password = EMAIL_PASSWORD;   
        $mail->SMTPAuth = true;             

        $mail->FromName = "Administrator";
        $mail->From = "Administrator";
        $mail->AddAddress($email); 
        $mail->WordWrap = 50;   
        $mail->IsHTML(true);    
        $mail->Subject  = "Seating Arrangements on Event";
        $mail->Body     = "Dear WeddingWire Customer";

        if($mail->Send()) return "true";        

        return  "false";

4 个答案:

答案 0 :(得分:7)

你试过$ mail-> SMTPSecure =' ssl' ?一些SMTP服务器需要这个。

使用$ mail->错误信息检查错误有时给出提示。

答案 1 :(得分:1)

使用此信息,您可以像这样配置phpmailer:

$mail->SMTPAuth = true; // enable SMTP authentication
$mail->SMTPDebug = 2; // enables SMTP debug
$mail->SMTPSecure = "ssl"; // sets the prefix to the servier

我认为这会对你有所帮助。无论是工作还是显示真正的问题都在你的邮件中。 如果这不起作用,那么请检查一些事情

  1. 您的主机是否有权通过SMTP主机进行中继?
  2. 您的主机在SMTP之前是否需要POP?
  3. 您的主机是否需要SMTP身份验证?

答案 2 :(得分:0)

从托管此文件的服务器,调用smtpout.secureserver.net是否正确解析?尝试ping它并查看IP地址是否符合预期

除此之外,如果你传递一个“true”参数,我PHPMailer()会使用异常,所以尝试类似:

$mail = new PHPMailer(true);
try
{
    $mail->IsSMTP();                    
    $mail->Port     = 465;              
    $mail->Host     = EMAIL_HOST;       
    $mail->Username = EMAIL_USER;       
    $mail->Password = EMAIL_PASSWORD;   
    $mail->SMTPAuth = true;             

    $mail->FromName = "Administrator";
    $mail->From = "Administrator";
    $mail->AddAddress($email); 
    $mail->WordWrap = 50;   
    $mail->IsHTML(true);    
    $mail->Subject  = "Seating Arrangements on Event";
    $mail->Body     = "Dear WeddingWire Customer";
    $mail->Send();
} catch( phpmailerException $e ) {
    echo $e->errorMessage();
    exit(0);
}

这应该可以让您深入了解所引发的错误。

答案 3 :(得分:0)

您是否尝试使用$mailer->SmtpSend(); This tutorial似乎建议您需要。