php - 本地主机上的 SMTP connect() 失败错误

标签 php html email smtp

我刚刚开始使用 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/

相关文章:

php - 准备好的 PHP SQL 语句在没有 GROUP BY 子句的情况下返回 false

php - Symfony 默认 Controller 白页

jquery - 如何阻止 jQuery draggable 将其拖离屏幕?

php - zf2 - gmail smtp 不工作

gmail - 为 Gmail 预设回复创建快捷方式

PHP 群发邮件 (25K-100K) 列表

php - 拦截 GuzzleHTTP 请求和响应主体

php - 在 div 中发布表单,菜单 div 分开

html - 号码输入。 HTML

html - 将导航栏与 Logo 中心对齐(图片)