2017-02-28 58 views
0

私は添付ファイル付きの電子メールをjavax.mail経由で送信しています。 キリル文字やアクセント付きの記号がある場合(スタンドアットラテン記号のみの場合はすべてOK)、MS Outlookは「ATTxxx.xxx」のような添付ファイル名を表示しています。私はWebインターフェイスを使用すると、名前が正しいです。添付ファイルの追加Outlookで電子メールを受信したときの添付ファイル名が正しくない

private void attachFile(DataSource source, String attachmentName) 
    throws MessagingException, UnsupportedEncodingException { 
     MimeBodyPart filePart = new MimeBodyPart(); 
     filePart.setDataHandler(new DataHandler(source)); 
     filePart.setFileName(MimeUtility.encodeText(attachmentName, charsetUTF, null)); 
     filePart.setHeader("Content-Transfer-Encoding", "base64"); 
     mp.addBodyPart(filePart); 
    } 

は、私は多くのことをGoogleで検索しますが、解決策を見つけていません。

+0

どのJavaMailのバージョンを使用していますか?ファイル名を自分でエンコードするのではなく、['mail.mime.encodefilename'](https://javamail.java.net/nonav/docs/api/javax/mail/internet/package-summary.html#mail)を設定できます。 .mime.encodefilename)プロパティ。また、['mail.mime.encodeparameters'](https://javamail.java.net/nonav/docs/api/javax/mail/internet/package-summary.html#mail.mime.encodeparameters)を設定する必要があります。 )プロパティをfalseに設定して、RFC 2231エンコーディングを無効にします。これは、古いバージョンのOutlookでは理解できません。 –

+0

ありがとう!私の問題は解決されました。今は、javax.mail - 1.5.0-b01の最新バージョンを使用しています。これを答えとして書くことができますか? –

+0

最新は1.5.6です。 –

答えて

0

解決策は、Bill Shannonのおかげで、最新バージョンのjavax.mail - 1.5.6を使用することでした。

関連する問題