尝试使用个性化替代%body%
。但是,我收到错误Substitutions are limited to 10000 bytes per personalization
。基本上,整个身体会有不同的接受者。
是否有另一种有效的方法可以将不同的邮件发送给不同的收件人?
每个请求发送一封邮件会非常慢。
请注意:模板不是一个选项,因为邮件是根据用户当前的活动创建的。
答案 0 :(得分:1)
我认为在Sendgrid的API下,你所要求的根本不可能。他们已经为您提供了包含变量(10000字节)的选项。
提案#1: 您可以使用具有少数工作人员的队列(ApacheMQ或Amazon SQS)系统来处理电子邮件的发送。该队列是为了防止任何未送达的电子邮件,工作人员允许您一次发送多封电子邮件(2名工作人员,2封电子邮件并行发送)。
提案#2: 有一个简单的cronjob每隔5分钟运行一次(你需要根据你发送的电子邮件数量来计算这个数据,以及发送电子邮件的可接受延迟)并让100个客户向谁发送电子邮件,基于数据库的一列,告诉您是否已发送电子邮件,以避免向同一客户发送多封电子邮件。
理想情况下,我会坚持第一个提案,但可能需要更多工作。你可以从#2开始,然后一点一点地处理#1。
希望它有所帮助!
答案 1 :(得分:0)
我也跑到了10000字节的限制。在我的情况下,这是一个边缘情况,所以对于这些调用,我使用常规SMTP发送添加了回退。
不是每个人的选择,但它很容易到位。