PHPMailer SMTP连接错误

时间:2014-01-13 09:46:54

标签: php email phpmailer

我一直试图弄清楚如何让phpMailer在过去的几个小时里工作。我一直在收到错误。这是我的代码:

<?php
$name = $_REQUEST['name'] ;
$email = $_REQUEST['email'] ;
$message = $_REQUEST['message'] ;

require("class.phpmailer.php");
$mail = new PHPMailer(); 
$mail->IsSMTP(); // send via SMTP
$mail->SMTPAuth = true; // turn on SMTP authentication
$mail->Username = "******@gmail.com"; // SMTP username
$mail->Password = "******"; // SMTP password
$host = "smtp.mandrillapp.com";
$port = 587;
$mail->SMTPSecure = 'ssl';  
$mail->SMTPDebug = 1;
$webmaster_email = "****@gmail.com"; //Reply to this email ID
$email= $email; // Recipients email ID
$name= $name; // Recipient's name
$mail->From = $webmaster_email;
$mail->FromName = "University of Life Experiences";
$mail->AddAddress($email,$name);
$mail->AddReplyTo($webmaster_email,"Webmaster");
$mail->WordWrap = 50; // set word wrap
$mail->IsHTML(true); // send as HTML
$mail->Subject = "ULE";
$mail->Body = $message; //HTML Body
$mail->AltBody = $message; //Text Body
if(!$mail->Send())
{
echo "Mailer Error: " . $mail->ErrorInfo;
}
else
{
echo "Message has been sent";
}
?>

以下是我收到的错误:

  

SMTP错误:无法连接到服务器:(0)SMTP连接()失败。邮件程序错误:SMTP连接()失败。

我尝试了许多不同的SMTP服务器,包括Gmail,我总是会收到类似的错误,无法连接。

请帮助,我尝试了许多其他phpMailer示例代码,但都存在同样的问题。如果有人可以推荐任何其他有用的PHP邮件程序。我没有使用内置mail()函数的原因。

4 个答案:

答案 0 :(得分:1)

您没有设置SMTP主机(尽管您声明了变量$host)。通过以下方式设置:

$mail->host = $host;

感谢@Rikesh提醒,$port也是同样的情况。

备注:我注意到你使用gmail.com作为回复邮件,但你的SMTP服务器不是gmail。这可能会导致某些电子邮件服务器将您的电子邮件发送到垃圾邮件/垃圾文件夹。

答案 1 :(得分:1)

尝试添加:

$mail->Mailer   = "SMTP"; // SMTP Method

请参阅此链接PHP Mailer help

答案 2 :(得分:0)

尝试更改端口号

$port = 587;

$port = 465;

并检查您收到的新错误,我相信您不会再次收到SMTP连接错误。

答案 3 :(得分:0)

  1. 使用SSL:
  2. $mail->SMTPSecure = 'ssl';                // Enable TLS encryption, `ssl` also accepted
    $mail->Port = 465;                        // ssl
    
    1. 在您的php文件中添加:
    2. $mail->SMTPOptions = array(
      'ssl' => array(
          'verify_peer' => false,
          'verify_peer_name' => false,
          'allow_self_signed' => true
          )
      );
      
      1. myaccount.gmail.com&gt; Sign-in & security&gt; Apps with account accessAllow less secure apps设置为ON