HTMLメールで最初から画像が入った状態で表示させたかったので試しに作ってみました。
mailer側のメソッドでメール本文中に表示させたい画像ファイルを設定。
content_id=>"rails.png"
部分をメールのview側で使うので好きな名前で設定。
test_mailer.rb
class TestMailer < ActionMailer::Base
default from: "mail@testmailer.com"
def test_mailer
attachments.inline["rails.png"] = {:content=> File.read("#{Rails.root.to_s}/app/assets/images/rails.png") ,:content_id=>"rails.png"}
mail(:to=>"mail@testmailer.com",:subject=> 'New account information')
end
end
cidに、test_mailerで設定したcontent_idを指定。これでOK。
views/test_mailer/test_mailer.html.erb
image test<br />
<img src="cid:rails.png" /><br />