使用して、レールActionMailerでhtml電子メールを送信するにはどうすればよいですか?
2.3.14私のメールERB: data.html.erb:私は電子メールを受信することができますが、私がそうするとき、それはプレーンテキストとして表示さ
<% @data.each do |error| %>
<table>
<% error.each_pair do |k, v| %>
<tr>
<td>
<%= k %>
</td>
<td>
<%= ap v %>
</td>
</tr>
<% end %>
</table>
<br />
<% end %>
- ではなく、レンダリングHTML。
アクションメーラーの設定:
config.action_mailer.raise_delivery_errors = true
# Send emails during development
config.action_mailer.perform_deliveries = true
ActionMailer::Base.delivery_method = :sendmail
UPDATEは:私の配信方法でコンテンツタイプを指定する必要がありました:
def data(data, sent_at = Time.now)
Time.zone = 'Eastern Time (US & Canada)'
content_type 'text/html'
subject "[#{RAILS_ENV}] An error has occurred - #{Time.now.to_s("%B %d, %Y")}"
recipients "[email protected]"
from AppConfig['from_email']
sent_on sent_at
@body = {:data => data}
end
受信トレイにメールの送信元が表示されている場合、Content-Typeヘッダーはどのように表示されますか? – d11wtq
text/plain; charset = utf-8。どうすればhtmlにすることができますか? – NullVoxPopuli
「うまくいく」はずです。あなたはディレクトリにdata.text.erbテンプレートを持っていないのですか?あなたは、メーラー内で手作業でレンダリングメソッドを呼び出していますか? – d11wtq