问题描述
是否可以将Rails的ApplicationMailer(以前称为ActionMailer)配置为使用REST API而不是SMTP?
换句话说,替换
self.smtp_settings = {
:address => ENV['MAILER_URL'],:port => ENV['MAILER_PORT'],:domain => ENV['MAILER_DOMAIN'],:authentication => :login,:user_name => ENV['MAILER_USER'],:password => ENV['MAILER_PWD'],:enable_starttls_auto => true
}
也许带有类似
的东西config.action_mailer.delivery_method = :rest_client # JUST A MADE UP EXAMPLE
config.action_mailer.rest_client = {
api_auth_header:{"Authorization" => "Bearer #{ENV['MY_REST_MAILER_API_KEY']}",api_endpoint: ENV['MY_REST_MAILER_API_URL']
}
我看到了Sendgrid和其他ESP所提供的gem的特定gem,但是我正在寻找一种通用的ActionMailer-to-Rest解决方案,在其中可以指定任意api端点,等等,并且不与gem绑定(或提供gem的提供者),并且仍然具有ActionMailer提供的模板等功能。
完全跳过ActionMailer类并编写一个使用RestClient的新邮件程序类并不是不可能的,实际上,对于某些特殊情况,我们已经做到了。但是对于普通电子邮件,每次您只想创建新的电子邮件类型(customer_thank_you.html.haml,customer_welcome.html.haml等)时,它的处理速度较慢,更容易出错,并且肯定需要进行更多工作来手动处理模板渲染等。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)