Как я могу повторить сообщение функции Mail :: send Laravel? - PullRequest
1 голос
/ 23 мая 2019

Я пытаюсь перебрать и отправить сообщение на почту в массиве писем, используя Laravel Mail :: send function

Я искал ту же проблему и нашел нижеприведенный код из Radmation здесь https://stackoverflow.com/a/39625789.

$emails = ['tester@blahdomain.com', 'anotheremail@blahdomian.com'];
    Mail::send('emails.lead', ['name' => $name, 'email' => $email, 
     'phone' => $phone], function ($message) use ($request, $emails)
    {
        $message->from('no-reply@yourdomain.com', 'Joe Smoe');
        //$message->to( $request->input('email') );
        $message->to( $emails);
        //Add a subject
        $message->subject("New Email From Your site");
    });

Мне интересен второй параметр для использования итерации, поэтому я могу отправлять каждое электронное письмо с динамическим сообщением с его именем.

Ответы [ 2 ]

0 голосов
/ 23 мая 2019
$emails = ['tester@blahdomain.com', 'anotheremail@blahdomian.com'];
foreach($emails as $currentRecipient){
  $customtMsg = //create here a custom msg
  Mail::send(['text' => 'view'], $customtMsg, function ($message) use ($request, $currentRecipient)
    {
        $message->from('no-reply@yourdomain.com', 'Joe Smoe');
        $message->to($currentRecipient);
        //Add a subject
        $message->subject("New Email From Your site");
    });
}

Пожалуйста, проверьте использование здесь

0 голосов
/ 23 мая 2019

Вы можете поместить электронные письма в ассоциативный массив, например:

$emails = [
  'tester@blahdomain.com' => 'tester', 
  'anotheremail@blahdomian.com' => 'anotheremail'
];

И затем итерация по key=>value парам, например:

foreach($emails as $email=>$name){
  Mail::send('emails.lead', ['name' => $name, 'email' => $email], function ($message) use ($email, $name){
    $message->from('no-reply@yourdomain.com', 'Joe Smoe');
    $message->to($email, $name);
    $message->subject("New Email From Your site");
  });
}

Если вы хотите отправить одну и ту же почту нескольким получателям одновременно, вы также можете передать массив из email=>name пар в метод to:

$message->to($emails)

Но я не думаю, что можно индивидуально настроить контент электронной почты с таким подходом. Также в этом случае все адреса электронной почты видны каждому получателю.

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