メールの自動化は、特にマーケターの間で人気を博しています。スケジュールされた時間に、ターゲットオーディエンスに事前に作成された電子メールを自動的に送信できるようにします。

Java で電子メールを送信するためのコードを作成する方法

Java で電子メールを送信するためのコードを作成する方法

この記事では、Java でメールを送信するためのコードを記述する方法について説明します。プレーン テキストまたは HTML 本文のメールをプログラムで作成して送信する手順を説明します。さらに、電子メールを一括送信する方法と、Java を使用してディスクから保存された電子メールを送信する方法を示します。

この記事では、次の点について説明します。

メール送信用 Java ライブラリ

Java メール ライブラリ を使用します。これにより、ネットワーク プログラミングやフォーマット仕様を知らなくても、メールを管理するためのビジネス ロジックを実装できます。 電子メールを送信するための Java ライブラリは、次のように Maven 構成を使用して直接インストールできます。

<repository>
	<id>ConholdateJavaAPI</id>
	<name>Conholdate Java API</name>
	<url>https://releases.conholdate.com/java/repo</url>
</repository>        
<dependency>
	<groupId>com.conholdate</groupId>
	<artifactId>conholdate-total</artifactId>
	<version>23.6</version>
	<type>pom</type>
</dependency>

他の Java フレームワークに関する構成については、releases.conholdate.com にアクセスしてください。

Java でメールを作成して送信するコードを作成する方法

Java 電子メール ライブラリは、配信のために SMTP サーバーを介して電子メール メッセージを送信します。送信者、受信者、件名、およびメッセージ本文は、String オブジェクトを使用して指定されます。このセクションでは、プレーン テキストと HTML 本文を含む電子メールを送信するコード サンプルを Java で記述する方法について説明します。

プレーンテキストで電子メールを送信するための Java コード

プレーン テキストの電子メール メッセージを作成して送信する手順は次のとおりです。

MailMessageクラスのオブジェクトを作成する。

  • 件名、本文、送信者、および受信者のアドレスを指定します。
  • SmtpClient クラスのオブジェクトを作成します。
  • ホスト、ポート、ユーザー名、パスワード、およびセキュリティ オプションを設定します。
  • SmtpClient.send(MailMessage arg) メソッドを呼び出して、電子メール メッセージを送信します。

次のコード サンプルは、プレーン テキストの電子メール メッセージを作成して送信する方法を示しています。

// Declare msg as MailMessage instance
MailMessage msg = new MailMessage();
// Set From and To field and Plain text body
msg.setFrom(MailAddress.to_MailAddress("sender@sender.com"));
msg.getTo().add("receiver@receiver.com");
msg.setBody("This is a Plain Text Body");
// Create an instance of SmtpClient class
SmtpClient client = new SmtpClient();
// Specify your mailing host server, Username, Password, Port # and Security option
client.setHost("mail.server.com");
client.setUsername("username");
client.setPassword("password");
client.setPort(587);
client.setSecurityOptions(SecurityOptions.SSLExplicit);
try {
// Client.Send will send this message
client.send(msg);
System.out.println("Message sent");
} catch (Exception ex) {
System.err.println(ex);
client.close();
client.dispose();
}
client.close();
client.dispose();

HTML 本文のメールを送信する

HTML 本文を含む電子メール メッセージを送信する手順は次のとおりです。

MailMessageクラスのオブジェクトを作成する。

  • 件名、本文、送信者、および受信者のアドレスを指定します。 ・MailMessage.setHtmlBody(String value)メソッドでメール本文を設定する。
  • SmtpClient クラスのオブジェクトを作成します。
  • ホスト、ポート、ユーザー名、パスワード、およびセキュリティ オプションを設定します。
  • SmtpClient.send(MailMessage arg) メソッドを呼び出して、電子メール メッセージを送信します。

以下のコード サンプルは、HTML 本文を含む電子メール メッセージを送信する方法を示しています。

// Declare msg as MailMessage instance
MailMessage msg = new MailMessage();
// Use MailMessage properties like specify sender, recipient, message and HtmlBody
msg.setFrom(MailAddress.to_MailAddress("newcustomeronnet@gmail.com"));
msg.setTo(MailAddressCollection.to_MailAddressCollection("asposetest123@gmail.com"));
msg.setSubject("Test subject");
msg.setHtmlBody("<html><body>This is the HTML body</body></html>");
// Create an instance of SmtpClient class
SmtpClient client = new SmtpClient();
// Specify your mailing host server, Username, Password, Port # and Security option
client.setHost("mail.server.com");
client.setUsername("username");
client.setPassword("password");
client.setPort(587);
client.setSecurityOptions(SecurityOptions.SSLExplicit);
try {
// Client.Send will send this message
client.send(msg);
System.out.println("Message sent");
} catch (Exception ex) {
System.err.println(ex);
client.close();
client.dispose();
}
client.close();
client.dispose();

Java でディスクから保存された電子メールを送信する

Java 電子メール ライブラリを使用すると、EML (Outlook Express 電子メール) ファイルをディスクから読み込んで、SMTP 経由で送信できます。

ディスクから保存された電子メール メッセージを送信する手順は次のとおりです。

MailMessage.load(String path)メソッドでMailMessageクラスのオブジェクトを作成する。

  • SmtpClient クラスのオブジェクトを作成します。
  • ホスト、ポート、ユーザー名、パスワード、およびセキュリティ オプションを設定します。
  • SmtpClient.send(MailMessage arg) メソッドを呼び出して、電子メール メッセージを送信します。

以下のコード サンプルは、保存された電子メールを Java でディスクから送信する方法を示しています。

// Load an EML file in MailMessage class
MailMessage message = MailMessage.load(dataDir + "test.eml");
// Create an instance of SmtpClient class
SmtpClient client = new SmtpClient();
// Specify your mailing host server, Username, Password, Port # and Security option
client.setHost("mail.server.com");
client.setUsername("username");
client.setPassword("password");
client.setPort(587);
client.setSecurityOptions(SecurityOptions.SSLExplicit);
try {
// Client.Send will send this message
client.send(msg);
System.out.println("Message sent");
} catch (Exception ex) {
System.err.println(ex);
client.close();
client.dispose();
}
client.close();
client.dispose();

電子メールを一括送信する Java コード

電子メールを一括送信するための Java コードを作成する手順は次のとおりです。

  • MailMessage クラスのオブジェクトを複数作成し、必要なパラメータまたはプロパティを指定します。 ・MailMessageCollectionクラスのオブジェクトを作成する。
  • MailMessageCollection.addItem() メソッドを使用して、メール メッセージ オブジェクト (最初のステップで作成したもの) をコレクションに追加します。
  • SmtpClient クラスのオブジェクトを作成します。ホスト、ポート、ユーザー名、およびパスワードを設定します。
  • SmtpClient.send(MailMessageCollection arg) メソッドを使用してメールを送信します。

以下のコード サンプルは、Java を使用して電子メールを一括送信する方法を示しています。

// Create SmtpClient as client and specify server, port, user name and password
SmtpClient client = new SmtpClient("mail.server.com", 25, "Username", "Password");
// Create instances of MailMessage class and Specify To, From, Subject and Message
MailMessage message1 = new MailMessage("msg1@from.com", "msg1@to.com", "Subject1", "message1, how are you?");
MailMessage message2 = new MailMessage("msg1@from.com", "msg2@to.com", "Subject2", "message2, how are you?");
MailMessage message3 = new MailMessage("msg1@from.com", "msg3@to.com", "Subject3", "message3, how are you?");
// Create an instance of MailMessageCollection class and add MailMessage objects
MailMessageCollection manyMsg = new MailMessageCollection();
manyMsg.addItem(message1);
manyMsg.addItem(message2);
manyMsg.addItem(message3);
try {
// Send Message in bulk
client.send(manyMsg);
System.out.println("Message sent");
} catch (Exception ex) {
System.err.println(ex);
client.close();
client.dispose();
}
client.close();
client.dispose();

無料ライセンスを取得する

無料の一時ライセンス を取得して、評価制限なしで API を試すことができます。

まとめ

この記事では、電子メールを送信するための Java ライブラリを使用して、Java で電子メールを送信するためのコードを記述する方法についての知識を得ました。最初に、プレーン テキストまたは HTML 本文の電子メールをプログラムで送信する方法を学びました。その後、電子メールを一括送信する方法と、Java を使用してディスクから保存された電子メールを送信する方法を見てきました。

ドキュメント にアクセスして、他の機能を調べることができます。

最後に、conholdate.com で定期的な更新をチェックすることをお勧めします。

質問する

フォーラムでご質問やご質問をお知らせください。

関連項目