使用RoR ActionMailer,在不使用视图文件的情况下发送plain-textmessage

时间:2013-02-11 19:32:52

标签: ruby-on-rails actionmailer

为了在Rails 3中使用ActionMailer呈现文本(而不是html)消息,我看到许多线程指示程序员创建.text.erb文件并运行以下代码:

mail do |format|
  format.html
  format.text
end

...但我希望在不使用邮件程序视图的情况下呈现一条非常短的消息。我以html格式成功完成此操作但不是纯文本。

我使用以下代码:

mail do |format|
  format.html{ render( text: 'my text' ) }
  format.text{ render( text: 'my text' ) }
end

...但每次都会发送一封html电子邮件。如何在没有邮件程序视图文件的情况下发送纯文本电子邮件并指定其内容?

1 个答案:

答案 0 :(得分:2)

来自doc

  

如果有的话,Action Mailer会自动发送多部分电子邮件   同一动作的不同模板。那么,对于我们的UserMailer   例如,如果您有welcome_email.text.erb和welcome_email.html.erb   在app / views / user_mailer中,Action Mailer会自动发送一个   多部分电子邮件,HTML和文本版本设置为不同   部分。

只是做:

mail do |format|
  format.text{ render( text: 'my text' ) }
end

如果您只想要短信。