• ベストアンサー

メール本文をbase64でエンコードする方法

既存システムとの連携のためにメール本文をbase64でエンコードするというハメになってしまいました。 いくつか試してみたのですが message.setHeader("Content-Transfer-Encoding", "base64");とか message.setContent(MimeUtility.encodeText(Content, "ISO-2022-JP", "B"),"iso-2 022-jp");とかやっても 常にContent-Transfer-Encoding: quoted-printableとなってしまいます。 JAVAmailを使って、添付ファイルではなくメール本文をbase64でエンコードする方法ご存知の方いらっしゃいませんか。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.3

Base64Decoder、Base64Encoderというクラスがある ページを書きます。商用でない利用の場合は無料、 商用利用の場合は、開発者が全員本を買うことで利用可能なライセンスのようです。

参考URL:
http://www.servlets.com/cos/index.html
knaka20blue
質問者

お礼

ありがとうございます。試してみます。

その他の回答 (3)

回答No.4

もうひとつApache CodecにもBase64のクラスがあるようです。

参考URL:
http://jakarta.apache.org/commons/codec/
knaka20blue
質問者

お礼

ありがとうございます。試してみます。

  • covachan
  • ベストアンサー率38% (46/120)
回答No.2

ついでですが、 このページに書かれていますが、 sun.misc.BASE64Decoderという、非公式のものも存在するようです。

参考URL:
http://www.lake.its.hiroshima-cu.ac.jp/~mondo/Java/TnE/003.html
knaka20blue
質問者

お礼

ありがとうございます。 試してみます。

  • covachan
  • ベストアンサー率38% (46/120)
回答No.1

base64というのは、文字コードの種類ではないのでそのやり方ではできません。 簡単に言うならば、バイナリをメールで扱える文字列に変換しているのです。 ですので、そのロジックを理解し、そのプロセスを踏むことで同様のことが行えます。 参照ページをごらんになった後、ググって見ればいろいろ情報が拾えますよ。

参考URL:
http://www.mars.dti.ne.jp/~torao/program/mail/base64.html
knaka20blue
質問者

お礼

回答ありがとうございます。 教えていただいたURLの内容は理解しました。 JAVAmailだけでは メール本文はSubjectなどと同じようにbase64にエンコードできないのですね。

関連するQ&A