gpt4 book ai didi

java - 如何使用 Apache Commons Email 将文件附加到 HTML 电子邮件

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:31:32 25 4
gpt4 key购买 nike

我正在使用 Apache Commons Email 1.1而且我不知道如何将文件附加到 HtmlEmail。如果我运行下面的代码,我会收到一封带有附件的电子邮件,但 HTML 消息也会作为附件出现。

如果我不调用 email.attach(),HTML 消息就会像您预期的那样通过,但我需要通过 HTML 消息和附件。我错过了什么?

  HtmlEmail email = new HtmlEmail();
email.setHostName("localhost");
email.addTo("test@mail.com", "Test");
email.setFrom("testapp@mail.com", "Test App");
email.setSubject("Test message");
email.setHtmlMsg("<div style='font-size: 20px; color: green;'>This is html email</div>");

EmailAttachment attachment = new EmailAttachment();
attachment.setPath(pdfPath);
attachment.setDisposition(EmailAttachment.ATTACHMENT);
email.attach(attachment);

email.send();

最佳答案

email.attach(new ByteArrayDataSource(pdfBytes, "application/pdf"),
"document.pdf", "Document description",
EmailAttachment.ATTACHMENT);

这适用于 commons-email 1.1。

pdfBytes 应该是包含 pdf 文档字节的 byte[]。如果这不适合您,您可以尝试其他 DataSource 实现,但我不能保证它们会起作用(尽管它们应该起作用)。

(上面那个是org.apache.commons.mail.ByteArrayDataSource)

关于java - 如何使用 Apache Commons Email 将文件附加到 HTML 电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1610301/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com