2013-02-11 71 views
0

爲了在Rails 3中使用ActionMailer呈現文本(不是html)消息,我看到許多線程指示程序員製作.text.erb文件並運行以下代碼:使用RoR ActionMailer,在不使用視圖文件的情況下發送純文本消息

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電子郵件。我能做些什麼來發送純文本電子郵件並在沒有郵件程序視圖文件的情況下指定其內容?

回答

2

doc

行動梅勒將自動發送多部分郵件,如果你有同樣的動作 不同的模板。因此,對於我們的UserMailer 示例,如果您在app/views/user_mailer中有welcome_email.text.erb和welcome_email.html.erb ,則Action Mailer將自動發送一個 多部分電子郵件,其HTML和文本版本設置爲不同的 部件。

只要做到:

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

如果你只想要一個文本郵件。

+3

這看起來與原始問題中的代碼完全相同。我錯過了什麼嗎? – Brandan 2013-02-11 19:39:50

+0

+1 Brandan。 @apneadiving,你有沒有試過建議的代碼?當我使用它時,它似乎發送一個html電子郵件。 – JellicleCat 2013-02-11 19:43:28

+0

對不起,忘了刪除一行:) – apneadiving 2013-02-11 20:06:26

相關問題