不开源项目aspose.email最新版23.10的一些科普
Asposeadmin 发布于:2024-09-27 15:33:52
阅读:loading
前面在摸索了Aspose的Cells、Words、Pdf等多款组件,分别是常见的Word/Excel/Pdf办公软件,闲下心来又继续了解了一下Aspose For Java语言的其他软件,经过一些持续的分析和摸索实践越来越多的将它们给科学化,即所有的软件(组件)均不修改任何jar包依赖,纯粹使用反射的形式来调用,也就是说在API的使用前进行一次特殊的代码注册,即可实现授权,全程不需要License之类的xml,或是文档无水印、或是文档页数限制、或是获取内容无限制,等等。
特别说明:只为单纯的学习摸索与自我突破,商业软件请勿直接使用于生产环境(购买商业授权)。
本次实践的是Aspose.email的23.10版本,它是一个功能强大的用于处理 Email 的开发工具包,如果有需要使用Java来操作 Email 文件的需求可以了解一下它,比如发生邮件、接收邮件、解析邮件,等等。本次示例提供了将 Eml 文件格式内容读取的简单示例,更多/更专业的API使用有疑问请自行转至官网查看或学习,示例参考如下几点:
(1)提供了将EML文件格式文件内容读取的示例,读取到了参数有:邮件ID、发送人、收件人、抄送人、密送人、标题、内容、附件、内联附件等等;
(2)提供了使用反射调用特定的class代码逻辑,无需修改原始的jar;
(3)科学使用的目的是解析到的数据完整,且无授权提示;
(4)科学使用的版本有23.10;
(5)相较于Apache开源的Mime4j解析Eml文件实现要简单的多,参见本站《Java解析eml邮件格式文件》文章;
public class AsposeEmailReflectTest extends cn.chendd.cells.base.BaseTest {
@Test
public void test() throws Exception {
/*注册 23.10*/
RegisterEmail.registerEmail2310();
try (MailMessage message = MailMessage.load(getClass().getResource("/my.eml").getPath())) {
System.out.println("\r\n======基础信息======");
System.out.println("邮件ID:" + message.getMessageId());
System.out.println("发送时间:" + message.getDate());
System.out.println("标题:" + message.getSubject());
System.out.println("内容:" + message.getHtmlBody());
System.out.println("发件人:" + message.getFrom());
System.out.println("收件人:" + message.getTo());
System.out.println("抄送人:" + message.getCc());
System.out.println("密送人:" + message.getBcc());
System.out.println("\n======内容信息======");
System.out.println("邮件内容:" + message.getHtmlBodyText(true));
//---获取到邮件内容中的图片
// 获取邮件中的CID引用的内联图片
message.save(super.getRootFile("aspose.email/邮件内容.html") , SaveOptions.getDefaultHtml());
System.out.println("\n======附件信息======");
final AttachmentCollection attachments = message.getAttachments();
final int size = attachments.size();
System.out.println("附件个数:" + size);
for (int i = 0; i < size; i++) {
final Attachment attachment = attachments.get_Item(i);
String fileSzie = FileUtils.byteCountToDisplaySize(attachment.getContentStream().available());
System.out.println("第 " + (i + 1) + " 个附件,名称:" + attachment.getName() + ",附件大小:" + fileSzie);
}
final LinkedResourceCollection resources = message.getLinkedResources();
System.out.println("\n======内嵌附件======");
//---获取到邮件内容中的图片
final IList list = resources.getIList();
for (int i = 0; i < list.size(); i++) {
LinkedResource resource = (LinkedResource) list.get_Item(i);
final ContentType contentType = resource.getContentType();
System.out.println(String.format("邮件内容中内嵌的图片名称:%s,大小:%s" , FilenameUtils.getBaseName(contentType.getName()) ,
FileUtils.byteCountToDisplaySize(resource.getContentStream().available())));
}
}
}
}
(将HTML转换为png)
(1)`aspose.xxx`不是开源免费的使用,Github上有示例项目,包含了大量的示例,示例的结果就是生成了一些《Evaluation Warning》警告、水印、内容页数限制、内容文本限制等;
(2)aspose旗下有许多的产品,都是商业付费版本,常见于各种文档格式文件的操作,都需要商业授权使用,也基本都是支持多种编程语言的,如有Java、C++、.NET等等,官网也有多种在线示例;
(3)示例与相关文件下载:无,注:下载并不包含具体的科学实现部分,只是源文件与示例输出文件;
点赞
发表评论
评论列表
留言区
- 不开源项目aspose.cells最新版23.10的一些科普
- 不开源项目aspose.words最新版23.10的一些科普
- 不开源项目aspose.pdf最新版23.10的一些科普
- 不开源项目aspose.slides最新版23.10的一些科普
- 不开源项目aspose.diagram最新版23.10的一些科普
- 不开源项目aspose.tasks最新版23.10的一些科普
- 不开源项目aspose.imaging最新版23.10的一些科普
- 不开源项目aspose.html最新版23.10的一些科普
- 不开源项目aspose.zip最新版24.8的一些科普
- 不开源项目aspose.note最新版23.11的一些科普
- 不开源项目aspose.cad最新版23.10的一些科普
- 不开源项目aspose.3d最新版23.10.0的一些科普
- 不开源项目aspose.ocr最新版23.10.0的一些科普
- 不开源项目aspose.psd最新版23.10的一些科普
- 不开源项目aspose.barcode最新版23.10的一些科普
- 不开源项目aspose.page最新版23.10的一些科普
- 不开源项目aspose.omr最新版23.11的一些科普
- 不开源项目aspose.pub最新版22.8的一些科普
- 不开源项目aspose.font最新版23.10的一些科普
- 不开源项目aspose.tex最新版23.11的一些科普