おれも勘違いしていたが、mb_send_mail()を使ってメールを送るとき、mb_convert_encoding()使って、ISO-2022-JPへ変換しなくていい。 具体的には、たったこれだけ。 <?php // 日本語だよって宣言して mb_language('ja'); // UTF-8で組んでるなら、文字エンコードをUTF-8に合わせて mb_internal_encoding("UTF-8"); // mb_send_mail()するだけ mb_send_mail("dare@doko.koko", "メールの送信テスト", "これは、メールの送信テストです。"); これだけで、 件名は、mb_encode_mimeheader(mb_convert_encoding("件名", "ISO-2022-JP", "UTF-8"), "ISO-2022-JP") してくれるし 本文は、mb_convert_encoding("本文", "ISO-2022-JP", "UTF-8") してくれる。 ただ、Fromに日本語使いたいときだけは、自前で $from = mb_encode_mimeheader(mb_convert_encoding("おれから", "ISO-2022-JP", "UTF-8"), "ISO-2022-JP")."<ore@doko.soko>"; ってやってから mb_send_mail("dare@doko.koko", "メールの送信テスト", "これは、メールの送信テストです。", "From:".$from); って送ってあげる。