Laravel 11 邮件仅发送给循环中的第一个收件人/CC 仅添加 X-CC 标头

问题描述 投票:0回答:1

这是使用 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
标头。

php laravel email postmark
1个回答
0
投票

那么您想始终发送给同一用户,但将其他用户添加到抄送中?

你可以尝试类似的事情

$emails = ['[email protected]', '[email protected]','[email protected]'];

Mail::send('emailView', [], function() use ($emails)
{    
    $message->to(config('mail.to.address'))->cc($emails)->subject('Some subject...');    
});

这尚未经过测试,但应该可以工作。如果没有,明天将回复测试片段:)

© www.soinside.com 2019 - 2024. All rights reserved.