私はいくつかのメールを処理する必要があるプラグインを持っているので、imapメールから添付ファイルを取得していくつかのことを行う必要があります。
すべてが機能しているように見えますが、奇妙な添付ファイルヘッダーを持つ単一のメールがあり、正しく取得できません。ここでは添付ファイルヘッダーです。
--_01d0aeb2-3f01-4153-9121-66b7af6924f1_
Content-Type: application/msword
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename=
"=?iso-8859-1?Q?Atto_Aziendale_(xxx=E0_del_xxx_xxx_-_xxx)=2C_Pr?=
=?iso-8859-1?Q?of.xxx_xxx_-_Dr.xxx_xxx.doc?="
「x」はプライバシーを保護するためのものですが、これは重要ではありません。問題は、javaMailを使用してこの添付ファイルのファイル名を取得しようとしたときに発生することです。
Attachment att = new Attachment(mailPart);
String filename = att.getFilename();
私はこれだけを手に入れます: "Atto Aziendale(xxx del xxx xxx --xxx)、Pr"
2行目を読み取っていないようです。
また、別の方法でファイル名を取得しようとしました。
mailPart.getHeader("Content-Disposition").getAttribute("filename").toString();
そしてそれは次のようになります:filename = "=?iso-8859-1?Q?Atto_Aziendale_(xxx = E0_del_xxx_xxx _-_ xxx)= 2C_Pr?==?iso-8859-1?Q?of.xxx_xxx _-_ Dr.xxx_xxx.doc?= 「」
したがって、属性が正しく読み取られているように見えますが、取得しようとすると、次のようになります。
mailPart.getHeader("Content-Disposition").getAttribute("filename").getValue();
それから私は再び切り捨てられたファイル名を取得します: "Atto Aziendale(xxx del xxx xxx --xxx)、Pr"
誰かが完全なファイル名を取得する方法、またはファイル名属性をデコードする方法を知っていますか?
助けてくれてありがとう