如何在javax.mail发送的电子邮件附件中添加clicable a href

时间:2016-11-12 23:10:28

标签: java email mime mime-mail

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

0 个答案:

没有答案