我正在从javax.mail发送电子邮件。
我发送附件(一些文件,例如PDF。)
我想添加指向电子邮件正文附件的链接,如下所示:
亲爱的用户,您可以通过此链接下载附件中的文件 " DOWNLOAD"
我的代码是:
String cidLinks = "<br>";
int counter = 0;
for (String attachments : email.pathToAttachments) {
String cidData = "<data" + (counter) + ">";
MimeBodyPart mimeBodyPart = buildMimeBodyPart(attachments, cidData);
multipart.addBodyPart(mimeBodyPart);
counter++;
cidLinks += "<a href='cid:" + cidData + "'> " + mimeBodyPart.getFileName() + "</a>" + "<br>";
}
MimeBuilder是:
private MimeBodyPart buildMimeBodyPart(String path, String id) {
MimeBodyPart emailMemeBodyPart = new MimeBodyPart();
try {
DataSource source = new FileDataSource(path);
emailMemeBodyPart.setDataHandler(new DataHandler(source));
emailMemeBodyPart.setFileName(source.getName());
emailMemeBodyPart.setContentID(id);
} catch (Exception e) {
System.out.println("Err: " + e.getMessage());
}
return emailMemeBodyPart;
}
我在以下位置生成链接时出现问题:
cidLinks += "<a href='cid:" + cidData + "'> " + mimeBodyPart.getFileName() + "</a>" + "<br>";
当我点击电子邮件中的链接时,它无法开始下载文件。
附件中的文件已成功发送。
你能帮帮我吗?哪里有问题?如何通过链接从附件下载文件?谢谢。
注意:电子邮件内容是有效的hmtl格式。