Я успешно отправляю электронные письма с этим фрагментом кода:
\App::setLocale('pl');
Mail::send('emails.new_'.$itemtype, ['object' => $object, 'email' => $email_recipee], function ($m) use ( $email_recipee, $object, $itemtype) {
$m->to($email_recipee, 'Title')->subject(' Subject of email');
//
});
Но электронные письма переводятся на en
, язык приложения по умолчанию.
Мой вопрос
Как заставить Laravel отправлять электронную почту с локалью, объявленной только для определенного электронного письма (у каждого получателя установлен другой язык).
Что я пробовал:
\App::setLocale('pl');
непосредственно перед командойMail
установка моего рабочего промежуточного программного обеспечения в контроллере глобально в
__construct()
:$this->middleware('setLocale'); // sets the locale to the recipee locale
грязный (?) раствор
На данный момент я просто добавляю строку в представление электронной почты:
{{ \App::setLocale($lead->client->lang)}}
Есть ли лучший способ сделать это? Спасибо.
App::setLocale($locale)
это путь. - person EddyTheDove   schedule 09.02.2017app/Mail
с вашими электронными письмами, вы можете установить это в конструкторе. Если вы все еще не используете старый способ отправки электронных писем. - person EddyTheDove   schedule 09.02.2017