Laravel: проблемы с отправкой почты на CentOS 7

Настройки почты находятся в файле .env. Выбирая MAIL_MAILER=smtp или MAIL_MAILER=sendmail вы даже при правильных настройках скорее всего полчите следующее сообщение об ошибке при отправке письма: Swift_TransportException Connection could not be established with host :stream_socket_client(): unable to connect to ssl://:465 (Permission denied)

Функция mail php тоже почту не отправляет. При том, что из командной строки утилита mail письмо отправляет. Для решения данной проблемы нужно выполнить следующие две команды:

$ setsebool -P httpd_can_network_connect on

$ setsebool -P httpd_can_sendmail on

Но и на этом приключения могут не закончиться. Вы можете получить такое сообщение: Failed to authenticate on SMTP server with username "mailbox@itsoft.ru" using 2 possible authenticators. Authenticator LOGIN returned Expected response code 235 but got code "535", with message "535 5.7.0 Error: authentication failed: UGFzc3dvcmQ6 ". Authenticator PLAIN returned Expected response code 235 but got code "535", with message "535 5.7.0 Error: authentication failed: UGFzc3dvcmQ6

Такая ошибка аутентификации возникает, если в пароле есть символ # и пароль не заключён в двойные кавычки. Заключите пароль в двойные кавычки и авторизация пройдёт успешно.

Если вы выбираете MAIL_MAILER=sendmail, то параметры:

MAIL_PORT=465
MAIL_HOST=itsoft.ru
MAIL_USERNAME=mailbox@itsoft.ru
MAIL_PASSWORD="dhdbfjkeb45DFDWDCe"
MAIL_ENCRYPTION=ssl

заполнять не нужно. Они роли не играют, см. config/mail.php

        'sendmail' => [
            'transport' => 'sendmail',
            'path' => '/usr/sbin/sendmail -bs',
        ],
Телеграмм ITSOFT