向大量收件人发送电子邮件的最佳做法(Rails + SendGrid)

Mat*_*ham 19 ruby-on-rails heroku sendgrid

我将从Rails应用程序发送批量电子邮件,并计划使用SendGrid.我假设最好向每个收件人发送一封单独​​的电子邮件(而不是为所有收件人使用BCC).如果这是真的,我应该使用像DelayedJob这样的东西来排队转发到SendGrid的消息,还是可以安全地一次抛出500条消息?谢谢!

Rya*_*igg 55

SendGrid真的不是500条消息.这甚至都不是他们雷达上的一个昙花一现.我曾在一家公司工作过一个月就发送了270万封电子邮件,即便如此,这只是一个短暂的问题.

随着SendGrid API的功能,你就不会被发送出去的电子邮件500,你会送一个具有特定SendGrid API头集电子邮件.为什么?因为你有没有试过发送500封个人电子邮件并计时需要多长时间?怎么样一个电子邮件?单个电子邮件会更快.

SendGrid API有一个Ruby示例,它位于:https://sendgrid.com/docs/Integrate/Code_Examples/SMTP_API_Header_Examples/ruby.html .

这是漫长而狡猾的,所以让我为你简化它.基本上,您在电子邮件中设置了这个:

headers["X-SMTPAPI"] = { :to => array_of_recipients }.to_json
Run Code Online (Sandbox Code Playgroud)

然后SendGrid将解析这一点,然后发送一个电子邮件你送出来给收件人的数组.我似乎记得他们要求你将每个电子邮件限制为大约1000个收件人,所以如果你想要的话,将它分成多个电子邮件是明智的.是当你将在类似的带delayed_jobresque宝石来对付它.

哦,顺便说一下,你仍然需要to为这封电子邮件指定一个地址,以使邮件宝石快乐.我们info@ourcompany.com为此而努力.

SendGrid API还将支持其电子邮件中的过滤器,因此您可以使用占位符字符串,例如{{ firstname }}和,假设您通过SMTPAPI标头发送它,它将在电子邮件上执行"邮件合并"并自定义它们.

如果您阅读SendGrid API文档,它会为您带来很多好处.它真的很有用,它们提供的功能非常强大.

  • SendGrid API的链接已过期 - 我认为现在https://sendgrid.com/docs/Code_Examples/SMTP_API_Header_Examples/ruby.html是正确的. (2认同)