尝试使用个性化的替代品%body%.但是,我得到一个错误说Substitutions are limited to 10000 bytes per personalization.基本上,整个身体会因接受者而异.
是否有另一种有效的方式将不同的邮件发送给不同的收件人?
每个请求发送一封邮件会非常慢.
请注意:模板不是一个选项,因为邮件是根据用户的当前活动创建的.
我认为你所要求的在 Sendgrid 的 API 下根本不可能实现。他们已经为您提供了包含变量(10000 字节)的选项来执行此操作。
建议 1:您可以使用带有几个工作人员的队列(ApacheMQ 或 Amazon SQS)系统来处理电子邮件的发送。队列是为了防止任何电子邮件未送达,而工作人员是为了让您一次发送多封电子邮件(2 个工作人员,并行发送 2 封电子邮件)。
建议#2:有一个简单的 cronjob,每 5 分钟运行一次(您需要根据需要发送的电子邮件数量以及发送电子邮件的可接受的延迟来计算),并获得 100 个客户的发送对象电子邮件,基于数据库的一列,告诉您是否已发送电子邮件,因此您可以避免向同一客户发送多封电子邮件。
理想情况下,我会坚持第一个提案,但这可能需要更多的工作。您可以从#2 开始,然后一点一点地处理#1。
希望能帮助到你!