SendGrid SMTP API: Multiple e-mails to the same recipient
我有一个 Web 应用程序,它使用 SendGrid 的 X-SMTP 功能来构建单个电子邮件,然后将其合并并转发到 X-SMTPAPI 标头中指定的收件人列表。
此处的文档:http://sendgrid.com/docs/API_Reference/SMTP_API/
我正在使用 MVC.NET 并使用 MailMessage 对象通过 smtp.sendgrid.net
发送电子邮件
就合并标题中的值和发送电子邮件而言,一切似乎都工作正常。
但是我注意到,如果我在"收件人"列表中多次指定同一个电子邮件地址,则只会发送一封电子邮件(或者至少我只收到一封)。
有人有同样的经历吗?有人知道解决这个问题的方法吗?
提前致谢!
SendGrid 的服务器将对 To 数组进行重复数据删除。解决此问题的唯一方法是将重复的邮件拆分为单独的 SMTP 消息,或更改地址以使其不重复(您可以使用加号寻址,例如 [email protected] 和 [email protected])。
- 感谢您的回复!这在任何地方都有记录吗?真的没有办法禁用这种行为吗?
-
如果您为 2 个收件人指定唯一数据,例如不同的 unique_args 或替换值,则将发送 2 条消息。请记住,邮件将具有相同的 SMTP ID,因此某些客户端(如 gmail)只会显示其中一条邮件。
-
要回答您的其他问题:我们将更新文档(谢谢!),并且无法禁用该行为。你能解释一下你的用例吗?我们通常不会有人故意发送重复邮件。
-
再次感谢,我会考虑在其中混合一些 unique_args。我的场景是一场比赛,用户可以参加多个小组。与其将所有用户组的结果合并到一个大而复杂的结果电子邮件中,我们决定使用单独的电子邮件来概述每个组的结果。
-
因此,我尝试添加名称为 uid 和随机生成的 guid 值的 unique_args 数组,SendGrid 控制面板确实将所有电子邮件显示为已发送,包括重复的地址。但是,正如您所提到的,我的客户端(或者可能是 Exchange 服务器?)只显示收到的一封电子邮件。
-
是的,这就是我担心会发生的事情 :( 在这种情况下,我能给出的最佳建议是将数组中的重复项拆分为不同的 SMTP 消息。如果数组中出现 2 次以上,则使用递归函数来做到这一点。
-
@bwest:我也遇到了这个问题。我的用例在这里描述:stackoverflow.com/questions/28051007/…。也许你可以给我一些指导...