複雑なメール用のオープンソース Java メーリング ライブラリ
Java Mailing API を使用すると、開発者は電子メール メッセージに添付ファイルを追加したり、画像を埋め込んだり、カスタム ヘッダーを追加したり、Java アプリ内で CLI と S/MIME をサポートしたりできます。
Simple Java Mail は、Java アプリケーション内で電子メールを操作するための機能を提供する、オープン ソースの軽量 Java メーリング ライブラリです。ライブラリは非常にシンプルで使いやすく、ユーザーは SMTP 経由で電子メールを送信できます。もう 1 つの優れた機能は、ユーザーが Outlook MSG、EML、MimeMessage、および電子メールの間で変換できることです。ライブラリには Spring サポートが含まれており、ユーザーは Spring コンテキストからプロパティを簡単に読み取ることができます。
このライブラリは非常に軽量ですが、それでも非常に強力であり、認証された SOCKS プロキシ経由で送信したり、ユーザーが接続プールのクラスタを構成したりできる唯一の Java メール ライブラリです。 Simple Java Mail は時間の経過とともに成熟し、電子メール メッセージへの添付ファイルの追加、埋め込み画像、カスタム ヘッダーと関連プロパティの追加、CLI サポート、S/MIME サポート、高度なバッチ処理、ユーザー電子メールの検証と送信、Spring サポート、電子メール変換ツールなどのインターフェイス。
Simple Java Mail ライブラリは、CRLF インジェクション攻撃、電子メール アドレスの検証、接続とセキュリティ プロパティのチェックなど、いくつかの基本的な検証を常に実行します。 API のもう 1 つの優れた点は、ほぼすべてのことを実行するための代替方法が含まれていることです。たとえば、独自の Recipient インスタンスを追加したり、コンマ/セミコロンで区切られたアドレスを追加したりできます。
簡単な Java メールの概要
Maven の依存関係
<dependency>
<groupId>org.simplejavamail</groupId>s;
<artifactId>シンプルな Java メール</artifactId>
<version>6.4.3</version>
</dependency>
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 開発者は、独自のアプリケーション内の電子メール メッセージにカスタム ヘッダーとそれに関連するプロパティを簡単に追加できます。電子メール サーバー、受信者サーバー、または電子メール クライアントが必要とするため、電子メール メッセージ内に追加のヘッダーを追加する必要があることがよくあります。理由が何であれ、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");