我正在从 javax.mail 发送电子邮件。
我正在发送附件(一些文件,例如 PDF。)
我想将附件链接添加到电子邮件正文,如下所示:
尊敬的用户,您可以通过“下载”链接下载附件中的文件
我的代码是:
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 格式。