无法通过Mandrill发送BCC电子邮件(通过Laravel)

时间:2014-08-07 15:28:45

标签: php email laravel mandrill

我无法使用BCC通过Laravel中的Mandrill插件向用户发送电子邮件。我可以发送电子邮件"到#34;地址如下:

Mail::send('emails.coach_invite', $data, function($message) use ($coach, $emails) {
  foreach ($emails as $email) {
    $message->to($email);
  }

  $message->subject($coach->first_name.' '.$coach->last_name.' has invited you to try Nudge!');
});

这很好用。但是,如果我尝试BCC相同的用户:

Mail::send('emails.coach_invite', $data, function($message) use ($coach, $emails) {
  foreach ($emails as $email) {
    $message->bcc($email);
  }

  $message->subject($coach->first_name.' '.$coach->last_name.' has invited you to try Nudge!');
});

什么都没发生。 Mandrill甚至不承认请求进来。任何想法为什么这不起作用?如果有帮助,这是我的原始电子邮件标题:

Message-ID: <688aa904847640c9ff694521ccb85ee5@nudge-api.app>
Date: Thu, 07 Aug 2014 11:15:35 -0400
Subject: Coach McTest would like to be your Coach on Nudge!
From: Nudge Info <info@nudgeyourself.com>
Bcc: Chris Garson <chris@nudgeyourself.com>
MIME-Version: 1.0
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: quoted-printable

3 个答案:

答案 0 :(得分:14)

我可以确认,向密件抄送用户发送电子邮件并不像Mandrill中预期的那样正常工作。

将您想要的内容(单个电子邮件发送到多个地址,每个收件人只在交付列表中看到自己的名称)的最简单方法是将X-MC-PreserveRecipients标头设置为false,然后只发送电子邮件使用To字段而不是Bcc。

这会将电子邮件发送给每个收件人,而不是单独发送给每个收件人 - 没有人会知道还有谁发送了电子邮件。

以下是使用您的示例在Laravel中执行此操作的方法:

Mail::send('emails.coach_invite', $data, function($message) use ($coach, $emails) {

    foreach ($emails as $email) {
        $message->to($email);
    }

    $message->subject($coach->first_name.' '.$coach->last_name.' has invited you to try Nudge!');

    $headers = $message->getHeaders();
    $headers->addTextHeader('X-MC-PreserveRecipients', 'false');
});

请注意,我正在使用$message->to()来处理电子邮件,然后添加设置为false的X-MC-PreserveRecipients标头。

答案 1 :(得分:1)

我为CC和BCC两种方式工作。

参考文件:https://mandrill.zendesk.com/hc/en-us/articles/205582117-Using-SMTP-Headers-to-customize-your-messages

搜索关键字:X-MC-PreserveRecipients

    $headers = $message->getHeaders();
    $headers->addTextHeader('X-MC-PreserveRecipients', true);

答案 2 :(得分:0)

使用X-MC-BccAddress可以完成这项工作。您只能使用一个密件抄送地址。

请参阅https://mandrill.zendesk.com/hc/en-us/articles/205582117-Using-SMTP-Headers-to-customize-your-messages