使用Mandrill PHPmailer发送邮件不起作用

时间:2015-03-31 12:01:15

标签: php email mandrill

我想使用Mandrill发送电子邮件。我正在定制我的phpmailer,我曾经用mandrill phpmailer发送邮件。 (见http://help.mandrill.com/entries/23737696-How-do-I-send-with-PHPMailer-

require 'mandrillmailer/class.phpmailer.php';

$mail = new PHPMailer();

$mail->IsSMTP();                                      // Set mailer to use SMTP
$mail->Host = 'smtp.mandrillapp.com';                 // Specify main and backup server
$mail->Port = 587;                                    // Set the SMTP port
$mail->SMTPAuth = true;                               // Enable SMTP authentication
$mail->Username = 'MANDRILL_USERNAME';                // SMTP username
$mail->Password = 'MANDRILL_APIKEY';                  // SMTP password
$mail->SMTPSecure = 'tls';                            // Enable encryption, 'ssl' also accepted

$mail->From = 'from@example.com';
$mail->FromName = 'Your From name';
$mail->AddAddress($to);  // Add a recipient


$mail->IsHTML(true);                                  // Set email format to HTML

$mail->Subject = $subject;
$mail->Body    = $message;
echo $mail->Subject;
//$mail->Send();
//$mail->AltBody = 'This is the body in plain text for non-HTML mail clients';

if(!$mail->Send()) {
    echo 'hiii';
   echo 'Message could not be sent.';
   echo 'Mailer Error: ' . $mail->ErrorInfo;
   exit;
}
else{
    echo 'hello';
    echo 'Message has been sent';
}
die('here');

我没有收到回复邮件,即邮件是否已发送。我调试了它被echo语句卡住的地方。我可以看到echo $mail->Subject;之前的消息,但不会超出此范围。我猜测$mail->Send()不起作用,这就是为什么超出该信息的信息不显示而电子邮件发送不起作用的原因。

我该如何解决?

2 个答案:

答案 0 :(得分:1)

假设您已经提交了适当的授权,请通过要求自动加载器而不是phpmailer类来尝试。这对我有用:

require 'mandrillmailer/PHPMailerAutoload.php';

或者你可以尝试一些更容易的东西。像官方Mandrill PHP client或像sendwithus这样的单独服务。

答案 1 :(得分:0)

首先检查PHPMailer类版本如果它低于版本5,则使用最新版本5.2.9 我使用版本5.2.9时解决了我的问题