Это проблема:
Мне нужна помощь для этого. Спасибо
В config/mail.php
установить from
свойство как:
'from' => ['address' => '[email protected]', 'name' => 'Firstname Lastname']
Здесь адрес должен быть тем, который вы хотите отображать из электронной почты, и имя должно быть тем, что вы хотите отображать от имени.
P.S. Это будет настройка по умолчанию для каждого отправляемого вами письма.
Вы можете использовать
Mail::send('emails.welcome', $data, function($message)
{
$message->from('[email protected]', 'Laravel');
$message->to('[email protected]')->cc('[email protected]');
});
Ссылка - https://laravel.com/docs/5.0/mail
Лучшим способом было бы добавить имена и значения переменных в файл .env
.
Пример:
MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
[email protected]
MAIL_PASSWORD=password
MAIL_ENCRYPTION=tls
MAIL_FROM_NAME="My Name"
[email protected]
Обратите внимание на последние две строки. Они будут соотноситься с полями from name и from email в отправляемом электронном письме.
Для любого, кто использует Laravel 5.8 и приземлился на этот вопрос, сделайте это, у меня получилось:
В функции построения самой почты (не просмотра, а почты):
public function build()
{
return $this
->from($address = '[email protected]', $name = 'Sender name')
->subject('Here is my subject')
->view('emails.welcome');
}
Удачного кодирования :)
Я думаю, что у вас есть ошибка в вашем фрагменте кода. У вас есть
from(config('app.senders.info'), 'My Full Name')
поэтому config ('app.senders.info') возвращает массив.
Метод from должен иметь два аргумента: первый - это строка, содержащая адрес, а второй - строка с именем отправителя. Таким образом, вы должны изменить это на
from(config('app.senders.info.address'), config('app.senders.info.name'))
В случае Google SMTP адрес отправителя не изменится, даже если вы укажете это в классе почты. Это связано с почтовой политикой Google, а не с проблемой Laravel. Думаю, я поделюсь этим здесь.