我正在尝试使用PHPMailer在我的网站上设置一个简单的电子邮件功能。我正在测试我自己的Gmail帐户,只是发送测试邮件给自己。我正在Mac上运行MAMP PRO。我已经看到了大量的问题,并花了一个下午研究它,但我所看到的一切都归结为对正确设置的冲突建议,使用端口487与465等等。我尝试过以下各种设置的多种组合($ mail) - > SMTPSecure ='tls',端口587,但是'ssl'代表端口465。我不断收到这个连接错误。如果有人对这个错误有什么想法我会非常感激。我已经记得包括我的代码中的相关文件。
mail = new PHPMailer();
$mail->IsSMTP();
$mail->Host = "smtp.gmail.com";
$mail->From = "me@gmail.com";
$mail->AddAddress("me@gmail.com");
$mail->SMTPAuth = true;
$mail->SMTPSecure = 'tls';
$mail->Port = 587;
$mail->username = "me@gmail.com";
$mail->password = "mypassword";
$mail->Subject = "First PHPMailer Message";
$mail->Body = "Hi! \n\n This is my first e-mail sent through PHPMailer.";
$mail->WordWrap = 50;
if(!$mail->Send()) {
echo 'Message was not sent.';
echo 'Mailer error: ' . $mail->ErrorInfo;
} else
echo 'Message has been sent.';
}
错误消息是 - “消息未发送.Mailer错误:SMTP连接()失败。”
答案 0 :(得分:1)
你的代码看起来不错 - 我肯定会在587上使用TLS。这个错误通常取决于你正在运行的环境 - 检查以下内容:
stream_socket_client
或fsockopen
(或一般的fopen包装器)