PHPMailer赢得';t发送我的电子邮件也没有错误


PHPMailer won't send my emails there are also no errors

我以前一直使用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!";
}

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

它不会回显任何错误,但我认为它也不会回显"Message sended!"

尝试以下

附加括号

$mail =  new PHPMailer();

将调试设置为消息和错误,用于测试目的

$mail->SMTPDebug = 1;

要发送HTML正文,请在设置$mail->Body后调用

$mail->IsHTML(true);

或者使用该方法设置HTML主体,该主体将两者结合起来:

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

试试这个,看看它是否工作

编辑:还要注意,外壳是如建议的(我不确定这是否会产生错误,但只是为了确定)

$mail->SetFrom
$mail->AddReplyTo
$mail->AddAddress
相关文章: