我刚刚开始使用 PHP 编写代码。我正在尝试发送邮件,但出现错误 Mailer Error: SMTP connect() failed。
下面是我使用的代码:
date_default_timezone_set('Etc/UTC');
require 'PHPMailerAutoload.php';
$mail = new PHPMailer;
$mail->isSMTP();
$mail->Host = gethostbyname('ssl://smtp.gmail.com');
$mail->SMTPAuth = true;
$mail->AuthType = 'LOGIN';
$mail->Username = 'abc@gmail.com';
$mail->Password = '********';
$mail->SMTPSecure = 'tls';
$mail->Port = 587;
$mail->setFrom('abc@gmail.com','Abc') ;
$mail->addReplyTo('abc@gmail.com');
$mail->addAddress("abc@gmail.com",'No REPLY');
$mail->isHTML(true);
$mail->Body = "12345";
$mail->Subject = "<b>OTP for password reset<b>";
$mail->Body = "Hi! Your OTP is : ";
if(!$mail->Send()) {
echo 'Message was not sent.';
echo "Mailer Error: " . $mail->ErrorInfo;
}
else {
echo 'Message has been sent.';
}
如有任何帮助,我们将不胜感激。
最佳答案
改变自
$mail->Host = gethostbyname('ssl://smtp.gmail.com');
$mail->SMTPSecure = 'tls';
$mail->Port = 587;
到
$mail->Host = "smtp.gmail.com";
$mail->SMTPSecure = 'ssl';
$mail->Port = 465;
并检查是否启用了open_ssl
打开你的 php.ini
并搜索这一行
;extension=php_openssl.dll
并删除前面的分号,保存文件并重新启动您的网络服务器。
关于php - 本地主机上的 SMTP connect() 失败错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45185256/