猿问

尝试在 localhost php 中发送电子邮件时出错

连接尝试失败,因为连接方在一段时间后没有正确响应,或者连接失败,因为连接的主机没有响应。


应用程序.php


'EmailTransport' => [

    'default' => [

        //**'className' => MailTransport::class,

        /*

         * The following keys are used in SMTP transports:

         */

        'host' => 'ssl://smtp.gmail.com',

        'port' => 567,

        //'timeout' => 30,

        'username' => 'abc@gmail.com',

        'password' => 'abc',

        'className' => 'Smtp',

       // 'client' => null,

        'tls' => true,

        //'url' => env('EMAIL_TRANSPORT_DEFAULT_URL', null),

    ],

],



'Email' => [

    'default' => [

        'transport' => 'default',

        'from' => 'abc@gmail.com',


    ],

],

控制器类


 public function mail()

    {

        $session = $this->request->session();

        $id = $session->read('req_id');

        $email = new Email();

        $email->transport('default');

        $email->from(['NO-REPLY.formcr1@abc.com.au' => 'abc REPLY']);

        $email->sender(['NO-REPLY.formcr1@abc.com.au' => 'abc NO-REPLY']);

        $email->to('abc@gmail.com'); /** This must be changed to abc's confirmed email */

        $email->subject('abc Request Number : '.$id);


        //THIS PATH NEEDS TO BE CHANGED DURING DEPLOYMENT

        $path = 'C:/xampp/htdocs/request_form/webroot/pdfresults/';

        $email->attachments($path. 'abc Cost Estimate Request Information_'.$id.'_'.'v.3online'.'.pdf');


        $email->send('Please look for the attachment to see the form. Cheers!');

    }

在此处输入图像描述

电子邮件凭据是正确的。并尝试关闭防火墙但仍然无法正常工作

慕勒3428872
浏览 105回答 1
1回答

ABOUTYOU

该错误的含义正是它所说的 - 您尝试连接的服务不存在或没有响应。这有两种解释。您正在连接的服务确实已关闭,或者您正在尝试连接到错误的服务器或端口。在这种情况下,是后者。您正在尝试连接到与该服务无关的端口上的隐式 TLS SMTP 服务。改变这个:'host' => 'ssl://smtp.gmail.com',         'port' => 567,至'host' => 'ssl://smtp.gmail.com',        'port' => 465,或者'host' => 'tls://smtp.gmail.com',         'port' => 587,
随时随地看视频慕课网APP
我要回答