1

我正在从 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 格式。

4

0 回答 0