Laravel отправить почту с учетными данными по умолчанию - PullRequest
0 голосов
/ 08 мая 2020

Я пытаюсь отправить письмо через laravel. Без Laravel это не проблема для меня, использующего

$headers = "From: ".FROM_MAIL; mail(TO_MAIL, "Subject", "Text", $headers);

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

Итак, мой вопрос: как мне правильно настроить файл .env?

Если я ничего не установил:

MAIL_DRIVER= MAIL_HOST= MAIL_PORT= MAIL_USERNAME= MAIL_FROM_ADDRESS=mail@hoster.com MAIL_PASSWORD= MAIL_ENCRYPTION= MAIL_FROM_NAME="From Name" Я получаю следующую ошибку: Too few arguments to function Illuminate\Support\Manager::createDriver(), 0 passed in /mnt/web409/e0/11/59802411/htdocs/test/crm/vendor/laravel/framework/src/Illuminate/Support/Manager.php on line 96 and exactly 1 expected

К вашему сведению: я использую сервер Strato!

Спасибо за вашу помощь!

Ответы [ 2 ]

0 голосов
/ 08 мая 2020

Для всех, у кого такая же проблема, как у меня:

В config / mail. php файл sendmail => '/usr/sbin/sendmail -bs', надо заменить на 'sendmail' => '/usr/sbin/sendmail -t -i',.

Кроме того, конфигурация должна выглядеть так, как в моем комментарии под ответом Дэнни Эбберса

0 голосов
/ 08 мая 2020

Если вы используете laravel, вам фактически не следует использовать mail () напрямую, так как это встроенная php функция

чтение: https://laravel.com/docs/7.x/mail

Это должно объяснить вам, как вы должны работать с электронными письмами в laravel.

Если вы не знаете, как работает это электронное письмо, вероятно, это так, вы, вероятно, хотите использовать драйвер ' sendmail ', которая похожа на встроенную функцию mail () (https://www.php.net/manual/en/function.mail.php)

Если это хороший выбор, зависит от ваших целей, требований и настроек сервера

...