Content-Type: text/html で送信したメールの本文が「認識できないメール形式のため表示できません」で内容が見れない(少なくとも、私が持っているauのXperia IS11Sでは見れませんでした)。
結論から言うと、htmlフォーマット用のview(.html.erb)に対応したtextフォーマット用のview(.text.erb)を、中身が空で良いのでダミーとして作成しておくと、なぜか解決されることがわかりました。
例えば、mailer classを
app/mailers/message.rb
class Message < ActionMailer::Base
default from: "xxx@yyy.zzz"
def summer_greeting address,name
@name = name
mail(to: address, subject: '暑中見舞い')
end
end
htmlフォーマット用のviewを
app/views/message/summer_greeting.html.erb
<p><%= @name %>さん、</p>
<p>今日も暑いですね。水分をこまめに摂って熱中症にならないよう気をつけて下さい。</p>
とした場合、$ touch app/views/message/summer_greeting.text.erb
でダミーファイルを作成すればOK。メール送信の時のログを見てみると Content-Type が multipart/alternative となっており、 text/plain と text/html の両方が送信されていることがわかる。スマホはこの形式だと、ちゃんと html の方を表示してくれる。何でだろう。よくわからないが、これで html のメール本文を表示できるようになったので良しとする。