用于复杂电子邮件的开源 Java 邮件库
Java Mailing API 允许开发人员在 Java 应用程序中添加电子邮件附件、嵌入图像、添加自定义标题、CLI 和 S/MIME 支持。
Simple Java Mail 是一个开源轻量级 Java 邮件库,它提供了在其 Java 应用程序中处理电子邮件的功能。该库非常简单易用,使用户能够通过 SMTP 发送电子邮件。另一个很棒的功能是它允许用户在 Outlook MSG、EML、MimeMessage 和电子邮件之间进行转换。该库包含 Spring 支持,用户可以轻松地从 Spring 上下文中读取属性。
该库非常轻量级,但仍然非常强大,并且是唯一可以通过经过身份验证的 SOCKS 代理发送或让用户配置连接池集群的 java 邮件库。随着时间的推移,Simple Java Mail 变得成熟,包括对一些重要功能的支持,例如向电子邮件添加附件、嵌入图像、添加自定义标题和相关属性、CLI 支持、S/MIME 支持、高级批处理、用户用于电子邮件验证和发送、Spring 支持、电子邮件转换工具等的接口。
Simple Java Mail 库总是执行一些基本的验证,例如 CRLF 注入攻击、验证电子邮件地址、检查连接和安全属性等等。 API 的另一个重要方面是它包含了几乎所有事情的替代方法,例如,您可以添加自己的 Recipient 实例或添加逗号/分号分隔的地址。
简单 Java 邮件入门
Maven 依赖
<dependency>
<groupId>org.simplejavamail</groupId>s;
<artifactId>简单的java邮件</artifactId>
<version>6.4.3</version>
</dependency>
电子邮件转换 b/t MimeMessage、EML 和 Outlook MSG
开源的 Simple Java Mail 库使软件开发人员能够在不同的电子邮件类型之间转换电子邮件。它还包括从文件中读取受 S/MIME 保护的电子邮件。您可以轻松地将电子邮件对象、EML 数据甚至 Outlook MSG 文件转换为 MimeMessage。构建大量 Outlook MSG 到 EML 转换器也很容易。
使用 Java 将附件添加到电子邮件
开源的 Simple Java Mail 库允许软件开发人员只用几行 Java 代码将附件添加到他们的电子邮件中。添加附件非常容易,但您必须自己提供数据。不要担心它可以是任何东西,PDF 文档、文字处理文档、图像、Excel CSV 电子表格或其他任何东西。
通过 Java 将附件添加到电子邮件
currentEmailBuilder
.withAttachment("dresscode.txt", new ByteArrayDataSource("Black Tie Optional", "text/plain"))
.withAttachment("location.txt", "On the moon!".getBytes(Charset.defaultCharset()), "text/plain")
// ofcourse it can be anything: a pdf, doc, image, csv or anything else
.withAttachment("invitation.pdf", new FileDataSource("invitation_v8.3.pdf"))
// you can provide your own list of attachments as well
.withAttachments(yourAttachmentResourceCollection))
向您的电子邮件添加自定义标题
Simple Java Mail 库使 Java 开发人员可以轻松地将自定义标头及其相关属性添加到他们自己的应用程序中的电子邮件消息中。通常需要在电子邮件消息中添加额外的标头,因为电子邮件服务器、收件人服务器或您的电子邮件客户端需要它。不管是什么原因,使用 The Simple Java Mail 库在您的电子邮件消息中添加标题非常容易。
通过 Java 将自定义标题添加到电子邮件
currentEmailBuilder
.withHeader("X-Priority", 2);
.withHeader("X-MC-GoogleAnalyticsCampaign", "halloween_sale");
.withHeader("X-MEETUP-RECIP-ID", "71415272");
.withHeader("X-my-custom-header", "foo");
// or
.withHeaders(yourHeadersMap);
电子邮件地址验证
对于公司来说,拥有一个有效的电子邮件地址以通过电子邮件与客户沟通非常重要。很多时候,电子邮件地址是与特定个人互连的唯一方式。 Simple Java Mail 库可以轻松验证您的电子邮件地址,并使您的繁重工作变得轻松。该库在发送电子邮件时自动执行地址验证。它还允许用户直接在他们的 Java 应用程序中执行验证。库验证不是简单的正则表达式检查,但它提供了完整且强大的完整验证。
通过 Java 验证电子邮件地址
currentMailerBuilder
.withEmailValidator(
JMail.strictValidator()
.requireOnlyTopLevelDomains(TopLevelDomain.DOT_COM)
.withRule(email -> email.localPart().startsWith("allowed"))
)
// or
.clearEmailValidator() // turn off validation
.resetEmailValidator() // reset to default (strict)
// you can also directly perform validations:
mailer.validate(email); // does all checks including address validation
// or just do the address validation
JMail.isValid("your_address@domain.com");
// or, fine-tuned to be stricter
JMail.strictValidator()
.isValid("your_address@domain.com");