Php 在Laravel的foreach循环中发送邮件
我有这个要求,我需要从我的应用程序中向to和CC头中的所有用户发送单独的邮件 例如,我加上abc@xyz.com在至;asd@fgh.com在里面qwe@rty.com抄送。这里有三个电子邮件ID,累积为收件人和抄送 我需要给这三个人发一封单独的邮件。所以abc@xyz.com将仅在邮件标题中看到他的姓名,对于抄送收件人如此 我的方法是将所有电子邮件合并到一个数组中,然后运行foreach循环,类似这样:Php 在Laravel的foreach循环中发送邮件,php,email,laravel,foreach,Php,Email,Laravel,Foreach,我有这个要求,我需要从我的应用程序中向to和CC头中的所有用户发送单独的邮件 例如,我加上abc@xyz.com在至;asd@fgh.com在里面qwe@rty.com抄送。这里有三个电子邮件ID,累积为收件人和抄送 我需要给这三个人发一封单独的邮件。所以abc@xyz.com将仅在邮件标题中看到他的姓名,对于抄送收件人如此 我的方法是将所有电子邮件合并到一个数组中,然后运行foreach循环,类似这样: foreach($emails as $email) { Mail::send(.
foreach($emails as $email) {
Mail::send(.....
{
$message->to($email);
});
}
这是更好的方法吗?或者我可以遵循的任何其他更好的方法?如果您有很多用户,那么在处理请求时同步执行该操作是个坏主意,因为它很可能会超时。最好使用
Mail::queue
发送电子邮件。另外,如果你有很多用户,你可能想考虑使用一个单独的服务来发送电子邮件,以避免在短时间内尝试发送大容量可能出现的任何问题。我可以使用哪些单独的服务?有很多服务,这取决于你是否正在寻找免费服务。例如,您可以使用免费计划每月最多发送12000封电子邮件,也可以根据需要使用任何付费计划。当然,您可以使用或,Laravel提供了现成的集成。
if (!empty($users)) {
foreach ($users as $user) {
Mail::send('emails.acitvation', ['item' => $xyz, 'user' => $user],
function ($message) use ($user) {
$message->subject('your subject here');
$message->to($user['email']);
});
}
}