(注:このブログはもう更新していません)この日記は私的なものであり所属会社の見解とは無関係です。 GitHub: takahashikzn

[クラウド帳票エンジンDocurain]

JavaMailでマルチバイト添付ファイル名

久しぶりにJavaMailをゴニョゴニョやってますが、
近頃は添付ファイルのファイル名がマルチバイトでも苦労しないで済むんですねぇ。

単に、

static {
    System.setProperty("mail.mime.encodefilename", "true");
    System.setProperty("mail.mime.charset", "UTF-8");
}

なんてやっておけば、
あとはフツーにMimeBodyPart#setFileName(String)でマルチバイト文字列を渡しても

------=_Part_0_29494755.1328778483115
Content-Type: application/pdf; 
	name="=?UTF-8?B?77yQ77yR77yQ77yS77yT77yU77yV77yW77yX77yY77yZ77yP77yh77yi?=
 =?UTF-8?B?77yj77yk77yl77ym77yn77yo77yp77yq77yP44GC44GE44GG44GI44GK?=
 =?UTF-8?B?44GL44GN44GP44GR44GT77yP44Ki44Kk44Km44Ko44Kq44Kr44Kt44Kv?=
 =?UTF-8?B?44Kx44Kz77yP44G744GS44G744GS772e4pGg44G744GSLnBkZg==?="
Content-Transfer-Encoding: base64
Content-Disposition: attachment; 
	filename="=?UTF-8?B?77yQ77yR77yQ77yS77yT77yU77yV77yW77yX77yY77yZ77yP77yh77yi?=
 =?UTF-8?B?77yj77yk77yl77ym77yn77yo77yp77yq77yP44GC44GE44GG44GI44GK?=
 =?UTF-8?B?44GL44GN44GP44GR44GT77yP44Ki44Kk44Km44Ko44Kq44Kr44Kt44Kv?=
 =?UTF-8?B?44Kx44Kz77yP44G744GS44G744GS772e4pGg44G744GSLnBkZg==?="

nKDyZvZXwjE2vImot3SYM2OAeHp+IzPo7EWbTIy5hNe+iRJeMyYjD59rjllqurB+XuMkEy++Heb+
XQ0jpppAMKfjY/MUPiB4Ywg7FScH++/sDMsZLQdKyyOKWoslVwlM3RiLh9OhcZ8ncWQdNHWS0D3H
CNIReEgXu4kcBYHULBrXY21yixYthqVXFDFa9iMdsjflIZsXZkR5jDOO80NS/INZt8a8HH7KKw8h
8GZAGK9ikSXJK3ob/eZofJP7VgY3wUO6mst4NPsbq4BTqcleQ5mXlWpIUiuD3CKnhNyD6Z7lS6p8
f0trHmltcbh51etrU/DtIx2R0lgLwucQHlqyDjl1h6+FusrfIIXR5a6QO0nFRkKc9xasJnd4e08M
53XGeGc7be4oJindHEBEJT5sgdU9IcTI8ynL9xg8vDQq6LBVCbax
------=_Part_0_29494755.1328778483115--

のように、フォールディングも含めてヨロシクやってくれるようです。