Ошибка Laravel при отправке пользовательского адреса электронной почты с помощью сервера SMTP - PullRequest
1 голос
/ 02 декабря 2019

У меня есть проект, в котором есть модуль, отправляющий электронное письмо из запроса. Я использую пакет beautymail для почтового шаблона. Я могу отправить электронное письмо, используя учетную запись Gmail, но есть это письмо, которое я получаю от своего клиента, в котором есть обычный адрес электронной почты. Как этот xx.xxxxx@propnex.sg, они сказали, что электронная почта является SMTP-сервером. Поэтому я попытался настроить мои .env и другие файлы конфигурации в laravel. Но я получаю эту ошибку при отправке Connection could not be established with host mail.propnex.sg :stream_socket_client(): SSL operation failed with code 1. OpenSSL Error messages: error:1408F10B:SSL routines:ssl3_get_record:wrong version number Может кто-нибудь сказать мне, почему я получаю эту ошибку и что я должен сделать, чтобы избавиться от этого? Большое спасибо

.env config

MAIL_DRIVER=smtp
MAIL_HOST=mail.propnex.sg
MAIL_PORT=587
MAIL_USERNAME=xx.xxxxx@propnex.sg
MAIL_PASSWORD=xxxxxxxx
MAIL_ENCRYPTION=ssl

Mail.php

   'from' => [
        'address' => 'xx.xxxxx@propnex.sg',
        'name' => 'Propnex',
    ],

    'reply_to' => ['address' => 'xx.xxxxx@propnex.sg', 'name' => 'Propnex'],

    'encryption' => env('MAIL_ENCRYPTION', 'tls'),


    'username' => env('MAIL_USERNAME'),

    'password' => env('MAIL_PASSWORD'),

    'port' => env('MAIL_PORT', 587),

    'driver' => env('MAIL_DRIVER', 'smtp'),

    'host' => env('MAIL_HOST', 'mail.propnex.sg'),

Ответы [ 3 ]

0 голосов
/ 02 декабря 2019
You are setting mail encryption as tls in mail.php and on the other hand in the env file
you are setting it to ssl. Try setting it the same in both the files.

But i would recommend that you skip the certificate.
You can skip verification of the ssl certificate by using the code below in the mail.php file:

 'stream' => [
        'ssl' => [
            'allow_self_signed' => true,
            'verify_peer' => false,
            'verify_peer_name' => false,
        ],
    ],
0 голосов
/ 02 декабря 2019

Вы используете SSL (MAIL_ENCRYPTION = ssl), поэтому вам нужно изменить MAIL_PORT = 465 в файле .env.

0 голосов
/ 02 декабря 2019

Я только что решил эту проблему, внеся небольшие изменения в мой файл .env и mail.php, как этот

MAIL_ENCRYPTION=""
'encryption' => env('MAIL_ENCRYPTION', ''),

Скажите мне, каковы недостатки этого незащищенного / альтернативного моего ответа. Я хочу отзывы. Большое спасибо.

...