无论我做什么,ActionMailer 2.3.8都会以HTML格式发送我的所有邮件

时间:2011-10-04 23:30:05

标签: ruby-on-rails content-type actionmailer ruby-on-rails-2

我有一个Rails 2.3.8应用程序,app/models/hello_notifier.rb中的通知程序如下所示:

class HelloNotifier < ActionMailer::Base
    def hello_world
        @recipients = 'to@email.address'
        @from = 'from@email@address'
        @subject = 'Hello world'
    end
end

app/views/hello_notifier/hello_world.erb中的视图如下所示:

Hello
World

当我运行HelloNotifier.deliver_hello_world时,它不会发送电子邮件,但会将其作为包含普通和HTML变体的多部分电子邮件发送。

我尝试将@content_type = 'text/plain'添加到通知程序模型以及content_type 'text/plain'。我也尝试将ActionMailer::Base.default_content_type = 'text/plain'添加到我的actionmailer初始化程序中。我也尝试将我的视图重命名为hello_world.text.plain.erb。我尝试的任何东西似乎都没有帮助。它总是将我的电子邮件作为多部分HTML /文本电子邮件发送。

关于如何强制发送为'text / plain'的任何想法?

3 个答案:

答案 0 :(得分:0)

尝试将您的视图重命名为hello_world.text.erb

答案 1 :(得分:0)

Rails 2.3.8搜索扩展名为.erb的模板,默认内容类型为text / plain 尝试将您的文件名重命名为hello_world.erb

答案 2 :(得分:0)

在Rails 2中,您通过为其提供以下文件扩展名之一来隐式指定电子邮件模板的内容类型:

  • .text.plain.erb用于纯文本电子邮件
  • .text.html.erb用于HTML电子邮件

例如,纯文本的“your_email_template.text.plain.erb”和HTML的“your_email_template.text.html.erb”。

另请参阅:http://guides.rubyonrails.org/v2.3.8/action_mailer_basics.html