使用Ruby客户端或Rails扩展的SendGrid电子邮件?

时间:2016-03-09 05:01:59

标签: ruby-on-rails ruby actionmailer

刚刚切换到SendGrid,我对用于发送电子邮件的各种方法和库感到非常惊讶(并且非常困惑)。

SendGrid的官方ruby客户端构建了一个电子邮件和请求,然后constructs a POST request将该数据发送到他们的smtp端点。

然而,Rails使用ActionMailer,还有其他宝石,如sendgrid-actionmailersendgrid-rails,可以将功能扩展到Rails。

ActionMailer实际上做了什么?我知道您可以配置smpt_options,然后在邮件中调用mail(..)来发送电子邮件。这只是构建一个类似的POST请求并发送它吗?如果是这样,它是否保证与官方ruby客户端构建的相同(即,是否有标准?)

1 个答案:

答案 0 :(得分:1)

ActionMailer只是基本的Rails电子邮件发送框架。开箱即用,它能够进行SMTP电子邮件调用,而像SendGrid这样的服务是一个简单的解决方案。

它也可以配置为使用像JSON API这样的交付方法,这是一种流行的替代方案,或者更奇特的方式,比如将其转储到作业队列中。

要使用的库取决于您要使用的功能。如果您只需要一个快速的即发即弃系统,SMTP默认方法可能适合您。如果您需要具有更多控制权的内容,基于API的内容可能会更好。