PHPMailer不会发送我的电子邮件也没有错误

时间:2015-11-23 08:14:53

标签: php email phpmailer

我以前一直在使用PHP的默认邮件功能,但决定使用其他服务来发送电子邮件功能。我使用PHPMailer但它不起作用。

    date_default_timezone_set('Etc/UTC');
require 'PHPMailerAutoload.php';


$mail = new PHPMailer;
$mail->isSMTP();
$mail->SMTPDebug = 2;
$mail->Debugoutput = 'html';
$mail->Host = 'smtp.gmail.com';
$mail->Host = gethostbyname('smtp.gmail.com');
$mail->Port = 587;
$mail->SMTPSecure = 'tls';
$mail->SMTPAuth = true;
$mail->Username = "xxx@gmail.com";
$mail->Password = "xxx";

$mail->setFrom('xxx@gmail.com', 'Name');

$mail->addReplyTo('xxx@gmail.com', 'no-reply');

$mail->addAddress('xxx@gmail.com', 'Name');
$mail->Subject = 'PHPMailer GMail SMTP test';

$mail->AltBody = 'This is a plain-text message body';
$mail->Body    = 'This is the HTML message body <b>in bold!</b>';

if (!$mail->send()) {
    echo "Mailer Error: " . $mail->ErrorInfo;
} else {
    echo "Message sent!";
}

代码也不会回显任何错误。

1 个答案:

答案 0 :(得分:-1)

它没有回应任何错误,但我认为它也不会回应'Message sent!'

尝试以下

附加括号

$mail =  new PHPMailer();

将调试设置为消息和错误以进行测试

$mail->SMTPDebug = 1;

在设置$mail->Body电话

后发送HTML正文
$mail->IsHTML(true);

或者使用Method设置将两者结合起来的HTML主体:

$mail->MsgHTML('This is the HTML message body <b>in bold!</b>');

试试这个,看它是否有效

编辑: 还要看外壳是否符合建议(我不确定这是否会出错,但只是为了确定)

$mail->SetFrom
$mail->AddReplyTo
$mail->AddAddress