このように、Rails には、HTML メールと一緒にプレーンテキストのメールを送信する素晴らしい機能があります。
.html.erb の横に .text.erb を配置するだけです。この趣旨のアプリケーションをここに作成しました: https://github.com/cairo140/rails-email-test。ダウンロードして実行するだけです。ホームページにアクセスして、ログを確認します。
出力は次のとおりです。
Sent mail to test@test.com (19ms)
Date: Tue, 01 Nov 2011 14:48:59 -0400
From: test@test.com
To: test@test.com
Message-ID: <4eb03f1b7403b_178858111fcc060bd@Steven-Xus-Macbook-Pro.local.mail>
Subject: test
Mime-Version: 1.0
Content-Type: multipart/alternative;
boundary="--==_mimepart_4eb03f1b708ce_178858111fcc057a4";
charset=UTF-8
Content-Transfer-Encoding: 7bit
----==_mimepart_4eb03f1b708ce_178858111fcc057a4
Date: Tue, 01 Nov 2011 14:48:59 -0400
Mime-Version: 1.0
Content-Type: text/plain;
charset=UTF-8
Content-Transfer-Encoding: 7bit
Content-ID: <4eb03f1b72b72_178858111fcc058ce@Steven-Xus-Macbook-Pro.local.mail>
Unescaped: &
Escaped: &
ERB: &
----==_mimepart_4eb03f1b708ce_178858111fcc057a4
Date: Tue, 01 Nov 2011 14:48:59 -0400
Mime-Version: 1.0
Content-Type: text/html;
charset=UTF-8
Content-Transfer-Encoding: 7bit
Content-ID: <4eb03f1b73784_178858111fcc05933@Steven-Xus-Macbook-Pro.local.mail>
<!doctype html>
<html>
<head>
<title>test</title>
</head>
<body>
<ul>
<li>Unescaped: &</li>
<li>Escaped: &</li>
<li>ERB: &</li>
</ul>
</body>
</html>
----==_mimepart_4eb03f1b708ce_178858111fcc057a4--
これがテキスト ビュー ( app/views/application_mailer/index.text.erb) です。
$ cat app/views/application_mailer/index.text.erb
Unescaped: &
Escaped: &
ERB: <%= "&" %>
ご覧のとおり、結果のテキスト メールは過度にエスケープされています。
これを防ぐ方法はありますか?
さらなる解明:
HTML メールをサプレスしてテキストだけを送信すると、メール クライアントに次のメッセージが表示されます (私は Gmail を使用しています)。

ご覧のとおり、3 行目は過度にエスケープされています。
html_safe明らかに、すべての文字列またはすべての ERB タグで呼び出すことができますがraw、Rails/Erubis にテキスト メールであることを認識させ、それに応じてエスケープさせる方法が必要です。