gpt4 book ai didi

Javax Mail 将 PDF 作为文件发送

转载 作者:行者123 更新时间:2023-12-02 09:04:55 25 4
gpt4 key购买 nike

StackOverflow 社区您好,

我正在尝试解决 Javax Mail 遇到的问题,我有一个 SMTP 服务可以发送带有附件的邮件。我正确发送了 PDF,如果我查看电子邮件,它会显示它是 PDF 文档,但当我按下载时,会将其另存为文件,并且可以由 acrobat reader 正确打开。

这是我设置文档的代码

...
byte[] bytearray = "This is a PDF Document".getBytes();
ByteArrayDataSource bds = new ByteArrayDataSource(bytearray, "application/pdf");
attachmentBodyPart.setDataHandler(new DataHandler(bds));
attachmentBodyPart.setFileName("prueba");
attachmentBodyPart.setHeader("Content-Type", "application/pdf");
multipart.addBodyPart(attachmentBodyPart);
...

这是收到的邮件的图像

email received

这是我下载的方法。 Download as a file

我应该做什么?我缺少什么?

谢谢指教。

最佳答案

您只是将文本作为 pdf 文件发送,正如预期的那样,该文件不是任何 pdf 阅读器都可以打开的有效 pdf。

您可以使用 iText 等库来创建有效的 pdf 文件,然后将其附加到电子邮件中。

使用 itext 的示例代码:

Document document = new Document();
PdfWriter.getInstance(document, new FileOutputStream("iTextHelloWorld.pdf"));

document.open();
Font font = FontFactory.getFont(FontFactory.COURIER, 16, BaseColor.BLACK);
Chunk chunk = new Chunk("Hello World", font);

document.add(chunk);
document.close();

进一步阅读:PDFs in java

关于Javax Mail 将 PDF 作为文件发送,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59895031/

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