我浏览了stackoverflow上的所有旧帖子和其他网站上的许多帖子,发现很多帖子都有相同的错误,但没有一个修复有效。
以下是我得到的错误:
Mailer错误:无法实例化邮件函数。
有什么东西丢失或不正确吗?
<?php
require '../PHPMailer/PHPMailerAutoload.php';
//Create a new PHPMailer instance
$mail = new PHPMailer;
$mail->Host = "smtp.gmail.com"; // SMTP server
$mail->Port = 465;
$mail->SMTPAuth = true;
$mail->Username = "censored@gmail.com";
$mail->Password = "censored";
$mail->setFrom('censored@gmail.com');
$mail->addReplyTo('censored@gmail.com');
$mail->addAddress('censored@gmail.com');
$mail->Subject = 'PHPMailer mail() test';
$mail->msgHTML(file_get_contents('contents.html'), dirname(__FILE__));
$mail->AltBody = 'This is a plain-text message body';
if (!$mail->send()) {
echo "Mailer Error: " . $mail->ErrorInfo;
} else {
echo "Message sent!";
}
?>
我找到了你缺少的东西。
你需要设置这两件事才能让它正常工作:
$mail->isSMTP();
$mail->SMTPSecure = 'ssl';