尝试使用个性化替换,如 %body%
。但是,我收到一条错误消息,提示 Substitutions are limited to 10000 bytes per personalization
。基本上整个 body 都会因接受者而异。
是否有另一种有效的方法可以将不同的邮件发送给不同的收件人?
每个请求发送一封邮件会很慢。
请注意:模板不是一个选项,因为邮件是根据用户当前的事件创建的。
最佳答案
我认为您所要求的在 Sendgrid 的 API 下根本不可能。他们已经为您提供了包含变量(10000 字节)的选项。
提案 #1: 您可以使用队列(ApacheMQ 或 Amazon SQS)系统和一些工作人员来处理电子邮件的发送。队列是为了防止任何邮件未送达,worker 是为了让你一次发送多封邮件(2 个 worker,2 封邮件并行发送)。
提案#2: 有一个每 5 分钟运行一次的简单 cronjob(您需要根据必须发送的电子邮件数量以及发送电子邮件的可接受延迟来计算)并让 100 个客户向谁发送电子邮件,基于数据库的一列,告诉您是否已发送电子邮件,因此您可以避免向同一客户发送多封电子邮件。
理想情况下,我会坚持第一个建议,但它可能需要更多工作。您可以从 #2 开始,然后一点一点地处理 #1。
希望对您有所帮助!
关于c# - Sendgrid:在一个请求中向不同的收件人发送不同的邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38111327/