这是使用 Laravel 11。我有两个问题,很高兴能解决其中一个问题,因为它们都能解决问题!
我有一个电子邮件地址循环可以发送
Mail
,但每条消息都会使用第一个收件人 - 因此三个地址 = 三封电子邮件均发送给第一个人。
我正在使用 Postmark 驱动程序,并且还在开发中尝试了 Mailpit。
$recipients = array_merge([config('mail.to.address')], explode(',', config('mail.cc.address')));
foreach ($recipients as $recipient) {
Mail::to($recipient)
->send(
new ContactForm($request->except(['_token', '_slug']), $formName)
);
}
这如文档中所示。我的
Mailable
没有执行任何设置地址的操作。
如果我单独编写每个
Mail
并指定地址,它总是使用第一个config('mail.to.address')
。
如果我将收件人转储到
Mailable
buildRecipients()
,我会看到所有我想要发送到的地址。
我还尝试在其他电子邮件中抄送(而不是循环),但当我这样做时,它会在电子邮件中添加
X-CC
标头,而不是 CC
标头。
那么您想始终发送给同一用户,但将其他用户添加到抄送中?
你可以尝试类似的事情
$emails = ['[email protected]', '[email protected]','[email protected]'];
Mail::send('emailView', [], function() use ($emails)
{
$message->to(config('mail.to.address'))->cc($emails)->subject('Some subject...');
});
这尚未经过测试,但应该可以工作。如果没有,明天将回复测试片段:)