私は、チャンクされたファイル名を持つメールの添付ファイルを管理する方法を理解しようとしています。私はJava 1.6でjavamail 1.5.1を使用していますが、私のコードはすべての種類のメールを管理できますが、特定のアドレスから受信したとき(私はそれらの人とは話せません)、添付ファイルを正しくインポートしません。私はメモ帳でそれらのatachments(この1の名前はextension.extensionなしのファイル名であると仮定して)を開くとき、私はこれを見つける:base64のコンテンツの前にjavamailで添付ファイルのチャンクファイル名をデコードする方法は?
Content-Type: application/octet-stream;
name*0="filename without extension"; name*1=.extension
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
filename*0="filename without extension"; filename*1=.extension
。私は同様の問題を検索しようとしましたが、正確なファイル名を持っていますが、分割されており、BodyPart.getFilename()
メソッドはnullを返します。私はヘッダー全体を取り上げ、それについて作業することを考えていました。
私はサイクルが添付ファイルを見つけたときに(もdecodefilename)これらのプロパティを設定しようとしたが、」didnのgetfilenameはまだnullを返します。 – Frattak
@Frattakこれはシステムのプロパティです。添付ファイルが見つかったときだけではなく、プログラムの最初にそれらを設定する必要があります。解析が完了した時点で遅すぎる可能性があります。 –
RFC 2231のサポートは、JavaMail 1.5.0からデフォルトで有効にする必要があります。 JavaMail 1.5.1を使用していますか?また、現在のバージョン[JavaMail 1.6.0](https://javaee.github.io/javamail/)にアップグレードすることもできます。 –