Ruby の Net::IMAP lib を使用してメールを取得し、Mail gems の read_from_string 関数を使用して本文を取得していますが、html 部分を含むメールは正しく表示されますが、テキスト/プレーン部分のみを含むメールは返されることなく継続的に表示されます。元のメールに文字が含まれていても...何か提案してください...よろしくお願いします!
私のコード:
メールの取得 (既に uid を持っています)
email = @imap.uid_fetch(uid, ["BODY[HEADER.FIELDS (FROM TO DATE SUBJECT)]", "RFC822"])
ヘッダーと本文の抽出
header_attr = email[0].attr["BODY[HEADER.FIELDS (FROM TO DATE SUBJECT)]"]
header = Mail.read_from_string(header_attr)
message_attr = email[0].attr["RFC822"]
message = Mail.read_from_string(message_attr)
マルチパートのチェック
if message.multipart?
@body = message.text_part.decoded.force_encoding("UTF8").encode("UTF-8")
else
@body = message.body.decoded.force_encoding(message.charset).encode("UTF-8")
end
ビューで @body.to_s を使用していますが、正しい出力が得られません:(
メールのコンテンツタイプ
コンテンツ タイプ: テキスト/プレーン。charset="iso-8859-1" Content-Transfer-Encoding: 8bit