私は griddler と sendgrid を使用して Rails アプリにメールを受信していますが、email.body をレンダリングすると、実際の html スタイルのメールではなく、メール内のテキストのみが取得されます。私は使用<%= raw post.body %>
し、まだ同じものを手に入れます。電子メールの本文を取り除いて電子メールのテキストのみをレンダリングするのではなく、Gmail や Yahoo で表示されるように、HTML バージョンを電子メールの本文でレンダリングする方法についてのアイデアはありません。Rails 4、Sendgrid、および Griddler Gem を使用しています。
電子メールを処理するための私の email_processor.rb ファイル:
class EmailProcessor
def self.process(email)
Post.create!({ body: email.body, email: email.from })
end
end
index.html.rb
<h1>Posts</h1>
<% if @posts.count > 0 %>
<% @posts.each do |post| %>
<blockquote>
<p><%= raw post.body %></p>
<small><%= post.email %></small>
</blockquote>
<% end %>
<% else %>
<p><em>Oops, doesn't look like there are any posts yet.</em></p>
<% end %>