Как я могу получить доступ к моей переменной электронной почты .env через контроллер - PullRequest
0 голосов
/ 03 октября 2018

У меня довольно много электронных писем, которые должны быть отправлены администратору сайта, то есть адресу электронной почты, объявленному в .env

Итак, в каждом создаваемом мной почтовом сообщении, для $ this-> to(), Я хочу добавить адрес электронной почты, определенный в .env, чтобы в случае его изменения мне не приходилось обходить каждое письмо и вручную изменять его.

Так что я попробовал это только для целей тестирования:

Route::get('send', function(){
    Mail::send(new AdminEmail());
})->name('test.email');

Mailable выглядит так в конструкторе:

public function __construct()
{
    $this->from('no-replya@gmail.com', 'Tester');
    $this->to(env("MAIL_USERNAME"), 'Admin');
}

В .env у меня есть конфигурации:

MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=admin@gmail.com
MAIL_PASSWORD=z6c4czc44
MAIL_ENCRYPTION=tls

Когда я пытаюсь отправитьэлектронная почта Я вижу следующую ошибку:

Address in mailbox given [] does not comply with RFC 2822, 3.6.2.

Похоже, мне не удается правильно получить доступ к переменной.

Как получить доступ к электронной почте из файла .env?

1 Ответ

0 голосов
/ 03 октября 2018

Вместо env("MAIL_USERNAME") try config('mail.username')

Сначала он пытается получить значение переменной конфигурации в файле .env и, если ему не удалось найти значение переменной в файле .env, он получит переменнуюзначение от config/mail.php

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...