2013-06-26 42 views
2
def simple_mail(to, subject, body) 
    attachments.inline['Logo.png'] = File.read(Rails.root.join("public", "Logo.png")) 
    mail(:to => to, :subject => subject, :body => body) 
end 

我收到消息的附件,但它不是「內聯」圖像。我如何附加內聯,以及如何選擇內聯?動作郵件附件。在線顯示爲正常附件,不是內嵌

我看到有觀點對他們郵件的例子..看起來像我可能需要設置這些了。如果是這樣,我如何將Action Mailer視圖鏈接到消息?

回答

1

正如你在guides.rubyonrails看到,你可以查看鏈接到你的郵件您鏈接視圖控制器的操作一樣。如果你的郵件被稱爲my_mailer,和您的郵件行爲稱爲simple_mail,則需要在app /視圖/ my_mailer視圖/並稱之爲「simple_mail.html.erb」。同樣,您可以創建一個「simple_mail.text.erb」,以確保如果收件人無法接收HTML電子郵件,他們得到的明文版本(見下文action_mailer_basics.html)。

至於內聯附件,一個不同的問題以前就提出的意見(見this link)和scaney有幾個鏈接回答。檢查this link並搜索文本「inline」,你應該找到你正在尋找的答案!

http://guides.rubyonrails.org/action_mailer_basics.html

api.rubyonrails.org/classes/ActionMailer/Base.html

0

1)要爲郵件設置動作郵件視圖,可以如下做到這一點:

創建在應用程序/視圖/ mailer_name /使用相同的名稱爲您的郵件動作視圖文件(在這種情況下是「simple_mail」)

另外,如果你想完全使用了不同的看法,你也可以做到這一點爲:

def simple_mail(to, subject, body) 
attachments.inline['Logo.png']=File.read(Rails.root.join("public", "Logo.png")) 
mail(:to => to, :subject => subject, :body => body) do |format| 
     format.html { render :partial => "/path/to/partial"} 
    end 
end 

在上述情況下,部分的內容將被呈現爲電子郵件的主體。

2)用於連接您還需要提及的附件在郵件動作視圖文件如下一個內嵌圖像:

<%= image_tag attachments['Logo.png'].url %> 
相關問題