不使用带SparkPost API的密件抄送将单个电子邮件发送给多个收件人

2024-04-25 04:05:00 发布

您现在位置:Python中文网/ 问答频道 /正文

我们的Django应用程序使用SparkPost作为电子邮件提供商。我们正在实施的一项新功能应该允许用户创建自己的组织电子邮件,并将其发送给他们希望的任何人。现在,这些电子邮件应该单独接收,而不是与多个收件人(“收件人”)一起接收,这样用户就看不到彼此的地址

我已经用SparkPost transmissions API运行了一些测试。这是您发送电子邮件的方式:

sp = SparkPost(API_KEY)
response = sp.transmissions.send(recipients=emails, html=body, from_email=sender, subject=self.subject)

其中emails是字符串文本的列表

在所有的测试案例中,除了一个,我确实收到了一个收件人的单独电子邮件。但在一个案例中,电子邮件有多封“收件人”电子邮件,你可以看到对方的电子邮件地址。我完全没有改变代码中的任何内容,这只是发生了

除了为每个收件人发送单独的传输之外,我还有其他方法可以做到这一点吗?如果涉及到这一点,我担心性能:

sp = SparkPost(API_KEY)
for email in emails:
    sp.transmissions.send(recipients=email, html=body, from_email=sender, subject=self.subject)

Tags: key用户sendapi电子邮件email地址html
1条回答
网友
1楼 · 发布于 2024-04-25 04:05:00

是的,最好在一次REST呼叫中执行此操作

默认情况下,SparkPost REST注入为密件抄送,将向每个收件人发送单独的电子邮件。正如您所看到的,您也可以具有典型的“CC”行为,但您需要使用希望其他人看到的地址设置CC头值

因此,在包含CC的示例中,您在REST调用中一定有类似的内容:

"headers": {
    "CC": "cc@thatperson.com"
},

CC Example

{
  "recipients": [
    {
      "address": {
        "email": "to@thisperson.com"
      }
    },
    {
      "address": {
        "email": "cc@thatperson.com",
        "header_to": "to@thisperson.com"
      }
    }
  ],
  "content": {
    "from": "you@fromyou.com",
    "headers": {
      "CC": "cc@thatperson.com"
    },
    "subject": "To and CC",
    "text": "This mail was sent to to@thisperson.com while CCing cc@thatperson.com."
  }
}

BCC Example

"recipients": [
    {
      "address": {
        "email": "to@thisperson.com"
      }
    },
    {
      "address": {
        "email": "bcc@thatperson.com",
        "header_to": "to@thisperson.com"
      }
    }
  ],
  "content": {
    "from": "you@fromyou.com"
    "subject": "To and BCC",
    "text": "This mail was sent To to@thisperson.com while BCCing an unnamed recipient. Sneaky."
  }
}

在您的用例中,您不希望为任何收件人设置"header_to": "to@thisperson.com"

相关问题 更多 >