我正试图使用sendgrid发送电子邮件,但我在服务器上得到了身份验证错误,但在本地主机和分期服务器上工作,我被卡住了。我用的是host = "smtp.sendgrid.net"
$mail = new PHPMailer(true);
try {
$content = file_get_contents('email.php');
$mail->isSMTP(); // using SMTP protocol
$mail->Host = 'smtp.sendgrid.net'; // SMTP host as gmail
$mail->SMTPAuth = 'true'; // enable smtp authentication
$mail->Username = 'apikey'; // sender gmail host
$mail->Password = 'SG.*************************';
$mail->SMTPSecure = 'tls'; // for encrypted connection
$mail->Port = '587'; // port for SMTP
// $mail->SMTPDebug = 3;
$mail->IsHTML(true);
$mail->setFrom('noreply@****.com', "Test"); // sender's email and name
$mail->addAddress($email, "Receiver"); // receiver's email and name
$mail->Subject = 'Welcome to Test';
$mail->Body = $content;
$mail->send();
} catch (Exception $e) { // handle error.
echo 'Message could not be sent. Mailer Error: ', $mail->ErrorInfo;
}
在如此有限的信息下很难完全调试这种情况。如果您收到一个身份验证错误,并且您正在使用SendGrid,那么我建议您使用SendGrid仪表板开始调试这个问题。具体来说,查看suppression的块、反弹和无效子部分。选项卡。
他们应该给你更详细的信息,为什么电子邮件不被接受发送,或者不能发送,包括相关文档的链接。我希望这对你有帮助。