Почему в приложении Laravel 5 электронные письма, отправленные с помощью плагина laravel-mail-preview, не принимаются получателями? - PullRequest
0 голосов
/ 06 ноября 2018

В связи с приложением 5.7 laravel я использую плагин themsaid / laravel-mail-preview для тестирования писем, отправляемых с использованием шаблонов snowfire / beautymail и для этого в .env моего локального проекта у меня есть варианты:

MAIL_DRIVER=preview
# MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null

, который работает нормально и в подкаталог "/ storage / email-previews" моей локальной системы скопированы электронные письма.

Но при переходе к моему серверному приложению (Ubuntu 18 под Digital Ocean) у меня проблема в том, что электронные письма отправляются, а получатели их не получают. На моем сервере я установил ssmtp и в файле /etc/ssmtp/ssmtp.conf я добавил кредитные карты моей учетной записи gmail и при отправке тестового электронного письма с получателями почты ($ to, $ subject, $ message, $ headers) эти письма получают ok ok

Но почему я не получаю электронные письма с шаблонами snowfire / beautymail?

В .env моего серверного приложения:

MAIL_DRIVER=smtp
# MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=587

MAIL_USERNAME=gmailnick@gmail.com   # the same parameters I have in /etc/ssmtp/ssmtp.conf
MAIL_PASSWORD=XXXXXXXXXXXXXXXX      # my gmail factor authentication password

MAIL_ENCRYPTION=null

В логах вижу

# grep -riI ssmtp /var/log

/var/log/syslog.1:Nov  5 23:34:06 nsn-do-lamp sSMTP[3432]: Sent mail for root@smtp.gmail.com:587 (221 2.0.0 closing connection w18-v6sm13037750wrn.66 - gsmtp) uid=0 username=root outbytes=860
/var/log/syslog.1:Nov  6 00:34:06 nsn-do-lamp sSMTP[4242]: Creating SSL connection to host
/var/log/syslog.1:Nov  6 00:34:06 nsn-do-lamp sSMTP[4242]: SSL connection using ECDHE_RSA_CHACHA20_POLY1305
/var/log/syslog.1:Nov  6 00:34:08 nsn-do-lamp sSMTP[4242]: Sent mail for root@smtp.gmail.com:587 (221 2.0.0 closing connection b71-v6sm476787wma.13 - gsmtp) uid=0 username=root outbytes=860
/var/log/syslog.1:Nov  6 01:34:07 nsn-do-lamp sSMTP[5342]: Creating SSL connection to host
/var/log/syslog.1:Nov  6 01:34:07 nsn-do-lamp sSMTP[5342]: SSL connection using ECDHE_RSA_CHACHA20_POLY1305
/var/log/syslog.1:Nov  6 01:34:09 nsn-do-lamp sSMTP[5342]: Sent mail for root@smtp.gmail.com:587 (221 2.0.0 closing connection c24-v6sm77924472wre.44 - gsmtp) uid=0 username=root outbytes=860
/var/log/syslog.1:Nov  6 02:34:07 nsn-do-lamp sSMTP[6155]: Creating SSL connection to host
/var/log/syslog.1:Nov  6 02:34:07 nsn-do-lamp sSMTP[6155]: SSL connection using ECDHE_RSA_CHACHA20_POLY1305
/var/log/syslog.1:Nov  6 02:34:08 nsn-do-lamp sSMTP[6155]: Sent mail for root@smtp.gmail.com:587 (221 2.0.0 closing connection m13-v6sm6126322wrw.14 - gsmtp) uid=0 username=root outbytes=860
/var/log/syslog.1:Nov  6 03:34:07 nsn-do-lamp sSMTP[7181]: Creating SSL connection to host
/var/log/syslog.1:Nov  6 03:34:08 nsn-do-lamp sSMTP[7181]: SSL connection using ECDHE_RSA_CHACHA20_POLY1305
/var/log/syslog.1:Nov  6 03:34:09 nsn-do-lamp sSMTP[7181]: Sent mail for root@smtp.gmail.com:587 (221 2.0.0 closing connection t13-v6sm26521034wrn.22 - gsmtp) uid=0 username=root outbytes=860
/var/log/syslog.1:Nov  6 04:34:04 nsn-do-lamp sSMTP[7905]: Creating SSL connection to host
/var/log/syslog.1:Nov  6 04:34:04 nsn-do-lamp sSMTP[7905]: SSL connection using ECDHE_RSA_CHACHA20_POLY1305
/var/log/syslog.1:Nov  6 04:34:06 nsn-do-lamp sSMTP[7905]: Sent mail for root@smtp.gmail.com:587 (221 2.0.0 closing connection v11-v6sm12069528wrt.40 - gsmtp) uid=0 username=root outbytes=860
/var/log/syslog.1:Nov  6 05:34:05 nsn-do-lamp sSMTP[8799]: Creating SSL connection to host
/var/log/syslog.1:Nov  6 05:34:05 nsn-do-lamp sSMTP[8799]: SSL connection using ECDHE_RSA_CHACHA20_POLY1305
/var/log/syslog.1:Nov  6 05:34:07 nsn-do-lamp sSMTP[8799]: Sent mail for root@smtp.gmail.com:587 (221 2.0.0 closing connection g16-v6sm20220322wrr.38 - gsmtp) uid=0 username=root outbytes=860

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

это проблема файла .env моего сервера? Что может быть не так?

МОДИФИЦИРОВАННЫЙ БЛОК № 2: Я изменил .env своего приложения:

MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587

MAIL_USERNAME=gmailnick@gmail.com   # the same parameters I have in /etc/ssmtp/ssmtp.conf
MAIL_PASSWORD=XXXXXXXXXXXXXXXX      # my gmail factor authentication password

MAIL_ENCRYPTION=null

и очистил кеш Но при отправке письма я получил ошибку:

Expected response code 250 but got code "530", with message "530 5.7.0 Must issue a STARTTLS command first. r1-v6sm13862441wrt.59 - gsmtp "

Что не так?

Спасибо!

...