SendGrid:向"多个收件人"发送电子邮件,而"收件人"字段中不显示其他电子邮件

Yah*_*din 1 php sendgrid sendgrid-api-v3

我想向多个收件人发送电子邮件.

我使用个性化,但每个人的电子邮件都出现在"收件人"字段中,这违反了他们的隐私.

我不想使用BCC,因为这通常直接导致垃圾(例如http://www.standss.com/blog/index.php/why-you-should-avoid-using-bcc-for-emails/) .

因此,我的问题是,如何在没有每个人电子邮件出现在"收件人"字段的情况下向多个收件人发送电子邮件.

我能看到的唯一选择是使用循环向每个电子邮件发送一个单独的请求,当我有大量电子邮件要发送时,这个循环非常耗费资源并且非常耗时!

jac*_*fwd 7

将SendGrid的Personalizations与多个收件人组一起使用时,需要在Personalization阵列中定义多个第一级对象.

所以代替:

{"personalizations": [
{"to": [
    {"email": "recipient1@example.com"},
    {"email": "recipient2@example.com"}
]}]}
Run Code Online (Sandbox Code Playgroud)

这将是一个To:可以看到对方的常见阵列,

你要:

{"personalizations": [
{"to": [{"email": "recipient1@example.com"}]},
{"to": [{"email": "recipient2@example.com"}]}
]}
Run Code Online (Sandbox Code Playgroud)

在每个个性化级别中,您可以自定义内容,主题,替换标签,几乎所有内容.

因此,您可以构建完整的个性化,并遍历这1000次.获得1000个收件人后,将其捆绑到一个API调用中,然后发送.

  • 你可以通过创建多个Personalization对象来完成PHP SDK.链接中的示例https://github.com/sendgrid/sendgrid-php/blob/master/examples/helpers/mail/example.php#L22 (2认同)
  • 对于那些使用节点客户端(目前`"@sendgrid/mail": "^7.7.0"`)的用户,您可以在 `send()` 调用中设置 `isMultiple` 参数,同时使用常规的 `to` 数组:“await client.send(message, isMultiple);”,其中“message.to = [email1, email2]”和“isMultiple = true”。 (2认同)