Невозможно отправить электронную почту с помощью Laravel - PullRequest
1 голос
/ 14 марта 2019

Я новичок в Laravel и пытаюсь настроить почту. Мой файл .env настроен как:

MAIL_DRIVER=SMTP
MAIL_HOST=vserv.******.***
MAIL_PORT=587
MAIL_USERNAME=admin@******.***
MAIL_PASSWORD=*********   <--- (9 chars lengh)
MAIL_ENCRYPTION=TLS

Для проверки почты я использую тинкер:

>php artisan tinker
>>> Mail::send('mails.contact',[], function($message) { $message->to('sergio@******.****')->subject('Testing email'); });

Перед тестированием очищаю кеш как:

>php artisan config:cache
Configuration cache cleared!
Configuration cached successfully!

Тинкер вернет эту ошибку:

 Swift_TransportException with message 'Failed to authenticate on SMTP server with username "admin@******.***" using 3 possible authenticators. Authenticator CRAM-MD5 returned Swift_TransportException: Expected response code 235 but got code "535", with message "535 5.7.8 Error: authentication failed: authentication failure 
" in ****/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/AbstractSmtpTransport.php:457

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

Mar 14 16:47:13 vserv plesk_saslauthd[21227]: failed mail authenticatication attempt for user 'admin@******.***' (password len=8)

примечание: пароль, который я использовал в env, составляет 9 символов, но в сообщении об ошибке всегда на 1 символ меньше! Если я введу неправильный пароль длиной 10 символов, появится сообщение об ошибке (пароль len = 9) и так далее Имеет ли это смысл?

Спасибо за любые предложения.

1 Ответ

3 голосов
/ 14 марта 2019

Ошибка указывает, что ваше имя пользователя или пароль неверны. В этом случае в строке пароля есть символ #, что означает, что остальная часть пароля интерпретируется как комментарий.

Решение состоит в том, чтобы процитировать пароль:

MAIL_PASSWORD="my#secret"

Если раньше он работал и больше не работал, возможно, это связано с тем, что Laravel 5.8 включил обновленную версию библиотеки dotenv , которая изменила поведение:

https://laracasts.com/discuss/channels/laravel/beware-in-env-files

...