我以前一直在使用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!";
}
代码也不会回显任何错误。
答案 0 :(得分:-1)
它没有回应任何错误,但我认为它也不会回应'Message sent!'
尝试以下
附加括号
$mail = new PHPMailer();
将调试设置为消息和错误以进行测试
$mail->SMTPDebug = 1;
在设置$mail->Body
电话
$mail->IsHTML(true);
或者使用Method设置将两者结合起来的HTML主体:
$mail->MsgHTML('This is the HTML message body <b>in bold!</b>');
试试这个,看它是否有效
编辑: 还要看外壳是否符合建议(我不确定这是否会出错,但只是为了确定)
$mail->SetFrom
$mail->AddReplyTo
$mail->AddAddress