Iセットアップ標準レールは、このように、公式ガイド以下のマルチビューとメーラー:複数のメールをRailsで送信する:HTML版をプレーンテキストのものよりも優先させるには?
メッセージのHTMLバージョンを優先する明確な共通意図してmail(to: user.email, subject: "Welcome") do |format|
format.html { render layout: 'my_layout' }
format.text
end
、唯一this article points outとして、それを見つけるために、 format.text
の前にformat.html
を呼び出すと、多くのメールクライアントがメッセージのテキストバージョンのみを表示します。私の場合は、GmailとMozilla Thunderbirdの両方で確認しました(苦労しました)。
htmlバージョンを優先する信頼できる解決法はありますか?私がこれまでに見つかった
メーラには優先順位があることはわかりませんでした。ブロックを削除するとどうなりますか?特定の詳細を渡す必要がなければ、ブロックをメールメソッドに渡すことはありません。 htmlテンプレートとテキストテンプレートを提供するだけで、メールの一部として送信されます。 – jvnill
html版のレイアウトを指定する必要があるのでブロックが必要な場合(私はちょうどそれを示す質問を編集しました)、htmlメッセージに直接レイアウトを適用してブロックを削除するという簡単なテストを行いました。ブロックなしでは、正しい方法(htmlバージョンより優先)が機能します。 – Darme
送信者ではなく、受信者が好みの形式を指定します。それが好きでもテキストを表示するオプションがないようにするには、テキストバージョンを作成しないでください。 – tripleee