我正在编写一个电子邮件功能,用于通过PHP向许多收件人发送简报。
<?php
require_once('class.phpmailer.php');
require_once('class.smtp.php');
$mailer = new Mailer();
Class Mailer{
function __construct(){
$dbCon = mysqli_connect("localhost", "root", "", "dbppa");
}
public function sendMail($e,$message,$subject){
$mail = new PhpMailer;
$body = $message;
$subject = "PPA Newsletter";
$clientName = $e;
$mail->SMTPDebug = 2;
$mail->CharSet = 'utf-8';
$mail->isSMTP();
$mail->SMTPAuth = true;
$mail->Host = 'tls://smtp.gmail.com:587';
$mail->Port = 587;
$mail->Username = "myemail@mail.com";
$mail->Password = "password";
$mail->SMTPSecure = 'tls';
$mail->setFrom("myemail@mail.com","PPA Administrator");
$mail->addReplyTo('myemail@mail.com', 'PPA Admin');
$mail->Subject = $subject;
$mail->AltBody = "This is the official news letter from PPA ";
$mail->Body = $body;
$address = $e;
$mail->AddAddress($address, $clientName);
if(!$mail->Send()){
echo "NOT SENT";
}
else{
echo "SENT";
}
}
}//class mailer
?>
在上面给出的代码中。我提供了正确的电子邮件用户名和电子邮来自Gmail。但它不会将给定的电子邮件消息发送给收件人。它总是返回SMTP错误的ErrorInfo:
Could not authenticate. SMTP connect() failed.
为什么呢?请帮忙。
答案 0 :(得分:-1)
您可以使用旧版本的phpmailer,它可以使用您的代码。我使用5.2.8版本。