我尝试像这样使用 google 作为 SMTP 服务器,但它无法发送邮件。如何解决?似乎有防火墙阻止了我的脚本。
<?php
require("PHPMailer_5.2.4/class.phpmailer.php");
$mail = new PHPMailer();
$mail->SMTPDebug = true;
$mail->IsSMTP(); // telling the class to use SMTP
$mail->SMTPAuth = true; // SMTP authentication
$mail->Host = "smtp.gmail.com"; // SMTP server
$mail->Port = 465; // SMTP Port
$mail->Username = "emerald.hieu.test@gmail.com"; // SMTP account username
$mail->Password = "xxx"; // SMTP account password
$mail->SetFrom('emerald.hieu.test@gmail.com', 'Hieutot'); // FROM
$mail->AddReplyTo('emerald.hieu.test@gmail.com', 'Hieutot'); // Reply TO
$mail->AddAddress('nguyen.hieu@xxx.vn', 'HieuND2'); // recipient email
$mail->Subject = "First SMTP Message"; // email subject
$mail->Body = "Hi! \n\n This is my first e-mail sent through Google SMTP using PHPMailer.";
if(!$mail->Send()) {
echo 'Message was not sent.';
echo 'Mailer error: ' . $mail->ErrorInfo;
} else {
echo 'Message has been sent.';
}
这是我的日志:
SMTP -> get_lines(): $data was ""
SMTP -> get_lines(): $str is ""
SMTP -> get_lines(): $data is ""
SMTP -> get_lines(): timed-out (10 seconds)
SMTP -> FROM SERVER:
SMTP -> get_lines(): $data was ""
SMTP -> get_lines(): $str is ""
SMTP -> get_lines(): $data is ""
SMTP -> FROM SERVER:
SMTP -> ERROR: EHLO not accepted from server:
SMTP -> FROM SERVER:
SMTP -> ERROR: HELO not accepted from server:
SMTP -> ERROR: AUTH not accepted from server:
SMTP -> NOTICE: EOF caught while checking if connectedThe following From address failed: emerald.hieu.test@gmail.com : Called Mail() without being connected Message was not sent.Mailer error: The following From address failed: emerald.hieu.test@gmail.com : Called Mail() without being connected