Ошибка при попытке отправить письмо на localhost php - PullRequest
1 голос
/ 13 марта 2020

Попытка подключения не удалась, потому что подключенная сторона не ответила должным образом через некоторое время, или не удалось установить соединение, так как подключенный хост не смог ответить.

app. 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!');
    }

введите описание изображения здесь

Учетные данные электронной почты верны. и попытался отключить брандмауэры, но все еще не работает

enter image description here

1 Ответ

1 голос
/ 13 марта 2020

Ошибка означает именно то, что говорится: служба, к которой вы пытаетесь подключиться, не существует или не отвечает.

Это объясняется двумя способами. Либо служба, к которой вы подключаетесь, действительно не работает, либо вы пытаетесь подключиться не к тому серверу или порту.

В данном случае это последний. Вы пытаетесь подключиться к неявной службе TLS SMTP через порт, не связанный с этой службой.

Измените это:

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

На

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

Или

'host' => 'tls://smtp.gmail.com',
        'port' => 587,
...