邮件不能使用sendgrid通过SMTP API发送

时间:2018-01-03 13:51:49

标签: php sendgrid

使用sendgrid.it邮件不通过SMTP发送给用户显示SMTP错误

require("class.phpmailer.php");
$mail = new PHPMailer();

$mail->IsSMTP();  // telling the class to use SMTP
$mail->Host = "smtp.sendgrid.net"; // SMTP server

$mail->SMTPSecure = "SSL";
$mail->SMTPAuth = true;
$mail->Username = "szdfsdf";
$mail->Password = "sdfsdfsdfsdf";
$mail->Port = "465";

$mail->From = "tests@gmail.com";
$mail->FromName = "Test";

$mail->AddAddress("test@services.in");
$message = "hi how r u in medapps?";
$message = trim($message);
$mail->Subject  = "from test";
$mail->Body     = trim($message);
if(!$mail->Send()){
    echo "Mailer error: ".$mail->ErrorInfo;
}
else{
    echo "Mail triggered to alert the status!";
}

结果

  

邮件程序错误:SMTP错误:无法连接到SMTP主机。

1 个答案:

答案 0 :(得分:1)

使用API​​密钥通过SMTP连接到SendGrid时,您需要使用apikey as the username

此外,由于您刚刚在此公开分享了API密钥,因此您需要销毁它并创建一个新密钥。它已不再安全了。

SendGrid支持SSL连接的端口465,但正如Jim所说,您需要test your connection并查看您的服务器是否允许该连接。如果没有,请尝试该文章中建议的其他端口。 我建议尝试使用TLS连接端口587。