mailer作成 その8

※7月11日に書いたはずの「mailerの作成 その7」がない。なぜだ?

単純なテキストメールとHTMLメール(multipartでないもの)もiframeの中に表示するようにしてみたが、HTMLメールが文字化けする。内容がUTF-8で書かれているのに、metaタグのcharsetがjis-2022-jpになっているためと思われる。HTMLメールは、いったんパーズして、metaタグのcontent属性を直してやらないとだめか?

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

あるいは、ファイルを作るときに、jis-2022-jpにコード変換してやるか?

7月13日追記:
上の内容を書いた直後に、さっそく本文をjisに変換する方法を実験してみたら、とりあえず、うまく表示できた。

  def createSingleHtml
    filename = "public/" + @tmpdir + '/html_body.html'
    if @type.upcase == "TEXT" && @subtype.upcase == "HTML"
      File.open(filename, "wb") {|fd|
        fd.write(@body.tojis)
      }
    else
      File.open(filename, "wb") {|fd|
        fd.write("<html><body><pre>\n")
        fd.write(@body)
        fd.write("</pre></body></html>\n")
      }
    end
  end

このcreateSingleHtmlは、list_controllerのshowメソッドから呼ばれる。