久しぶりに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--
のように、フォールディングも含めてヨロシクやってくれるようです。