hereのようなJavaMail APiを使用して電子メールに添付されたファイルの電子メールにリンクを埋め込むようにしています。 これは私のコードです:JavaMailを使用して添付ファイル用の電子メールメッセージにリンクを埋め込むことができません
MimeMultipart multipart = new MimeMultipart("related");
BodyPart messageBodyPart = new MimeBodyPart();
String attachment = "/path/test.pdf";
File fAtachh = new File(attachment);
String htmlText = "<a href='cid:file'>test.pdf</a>";
messageBodyPart.setContent(htmlText, "text/html");
multipart.addBodyPart(messageBodyPart);
MimeBodyPart messageBodyPartAttach = new MimeBodyPart();
try {
\t messageBodyPartAttach.attachFile(fAtachh);
} catch (IOException e) {
\t logger.info("Exception" + e.getMessage());
}
messageBodyPartAttach.setContentID("<file>");
multipart.addBodyPart(messageBodyPartAttach);
message.setContent(multipart);
問題は、そのリンクが動作しないです。
で最後のコードを変更した場合:
MimeMultipart multipart = new MimeMultipart("related");
MimeBodyPart messageBodyPart = new MimeBodyPart();
String attachment = "/path/test.pdf";
String htmlText = "<a href='cid:file'>test.pdf</a>";
messageBodyPart.setContent(htmlText, "text/html");
multipart.addBodyPart(messageBodyPart);
MimeBodyPart messageBodyPartAttach = new MimeBodyPart();
DataSource fds = new FileDataSource
\t (attachment);
messageBodyPartAttach.setDataHandler(new DataHandler(fds));
messageBodyPartAttach.setHeader("Content-ID","<file>");
multipart.addBodyPart(messageBodyPartAttach);
message.setContent(multipart);
リンクは動作しますが、ファイル名と拡張子が間違っている:
私はこの方法でファイル名を変更しようとしました:
messageBodyPartAttach.setFileName("test.pdf");
ファイル名を設定した場合、li nkは最初のコードのようには機能しません。
提案がありますか?
ありがとうございます!
ファイルの内容を表示せずに添付ファイルを本文メッセージにリンクしようとしています。 Content-DispositionをINLINEに設定しましたが、機能しません。 とにかく私はあなたに同意します。 HTMLテキストにファイルを添付するのは良い考えではありません。ほとんどの電子メールプロバイダは、システムにとって危険なファイルを解釈することができます。 ありがとうございます。 –