class 名为 CustomMailer 里面有一个名为 say_hello 的方法,对应一封邮件。 正常来说就是通过:CustomMailer.say_hello.deliver
CustomMailer.say_hello.deliver
如果我想要用其他发送方式(例如 rest-client)来发送这封邮件,怎么发?
没懂你的意思,用 http 发送邮件?
#1 楼 @dddd1919 嗯,因为还用到了 web api,方便使用不同的发送渠道。例如触发邮件用一个邮件服务,群发邮件用另外一个。不知道有没有人有同样的实践
#5 楼 @Rei 我指的是,如果要用 API 的方式来发送 mailer 定义好的邮件,怎么发?表达不清楚,请见谅
#2 楼 @cestivan 你是指用不同的 SMTP 配置吧,这个还真没实践过,rails 下可以直接在 production.rb 中配置好邮件服务器的参数,一般是可以指定同一邮件服务器下不同帐号发邮件。 照你的需求,我觉得可以写一个 rake 单独配置 SMTP 并发送邮件,不使用 rails 的配置,能实现使用不同的邮件服务器发送邮件,在对应 action 里调用一下
#6 楼 @cestivan 那么要看你用的邮件服务的 API 是什么啊
像 mailgun 文档同时提供了 curl Ruby Python PHP Java C# 的例子
http://documentation.mailgun.com/user_manual.html
你是说用 Mailer render 内容,然后用别的 api 发?
Mailer 对象的正文可以这样取
CustomMailer.say_hello.body.raw_source => "hello\n..."
#9 楼 @Rei 啊,要的就是这个答案!~Thanks