У меня есть это требование, когда мне нужно отправлять отдельные письма всем пользователям в заголовках TO и CC из моего приложения.Отправка писем в цикле foreach в Laravel
Так, например, я добавляю [email protected] в TO; [email protected] in, [email protected] в CC. Здесь три идентификатора электронной почты, кумулятивные TO и CC.
Мне нужно отправить отдельное письмо всем трем. Таким образом, [email protected] будет видеть только его имя в заголовке Mail и т. Д. Для получателей CC.
Мой подход был объединить все электронные письма в массиве, а затем запустить цикл Еогеасп, что-то вроде этого:
foreach($emails as $email) {
Mail::send(.....
{
$message->to($email);
});
}
ли это лучший способ сделать это? Или любой другой гораздо лучший подход, которым я могу следовать?
Если у вас много пользователей, это плохая идея, чтобы сделать это синхронно во время обработки запроса, потому что это, скорее всего, перерыв. Было бы лучше [queue] (http://laravel.com/docs/5.1/mail#quue-mail) процесс отправки электронной почты с помощью 'Mail :: queue'. Кроме того, если у вас много пользователей, вы можете захотеть использовать отдельный сервис для отправки электронных писем, чтобы избежать проблем, которые могут возникнуть в результате попыток отправить большой объем за короткое время. – Bogdan
Какое отдельное обслуживание я могу использовать? – nirvair
Есть много, и это зависит от того, ищете ли вы бесплатную услугу или нет. Например, [Mailchimp] (http://mailchimp.com/) и [Sendgrid] (https://sendgrid.com/) имеют бесплатные планы, которые позволяют отправлять до 12000 писем в месяц, или вы можете использовать любой из платные планы в зависимости от ваших потребностей. Конечно, вы можете использовать [Mandrill] (https://www.mandrill.com/) или [Mailgun] (https://www.mailgun.com/), для которых у Laravel есть встроенная интеграция. – Bogdan