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で検索しますが、解決策を見つけていません。
どの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では理解できません。 –
ありがとう!私の問題は解決されました。今は、javax.mail - 1.5.0-b01の最新バージョンを使用しています。これを答えとして書くことができますか? –
最新は1.5.6です。 –