我有一个用Base64编码的PDF文件,现在我想发送PDF并允许从邮件打开。
我正在阅读此问题,但不适用于我```js https://stackoverflow.com/a/9124625/811293
Message message = new MimeMessage(session); message.setFrom(new InternetAddress(from)); message.setSentDate(new Date()); message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(sendTo)); message.setSubject("Subject - " + new Date()); Multipart multipart = new MimeMultipart();
MimeBodyPart mimeBodyPart = new MimeBodyPart(); mimeBodyPart.setContent("contentMessage", "text/html"); // YES FOR NOW SIMPLE MESSAGE multipart.addBodyPart(mimeBodyPart);
MimeBodyPart attachmentOnFly = new MimeBodyPart();
/* //In the future the PDF will be created on Fly (Will not be stored) InputStream inputStream = new FileInputStream("/path/to/encoded/Base64/file.pdf");//new ByteArrayInputStream("Bytes from source".getBytes()); ByteArrayDataSource byteArrayDataSource = new ByteArrayDataSource(inputStream, "application/pdf"); attachmentOnFly.setDataHandler(new DataHandler(byteArrayDataSource)); */
attachmentOnFly.attachFile(new File("/path/to/encoded/Base64/file.pdf")); attachmentOnFly.setHeader("Content-Type", "application/pdf"); attachmentOnFly.setHeader("Content-Transfer-Encoding", "base64"); attachmentOnFly.setDisposition(Part.ATTACHMENT); attachmentOnFly.setFileName("myFileName.pdf"); multipart.addBodyPart(attachmentOnFly);
message.setContent(multipart); Transport.send(message);
我的问题是,当收到邮件时,我无法打开PDF,但是使用Telnet替代方法却可行。
如何发送Enconded Base64 PDF,并且可以从邮件中打开它?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。