1. 概要

このクイックチュートリアルでは、 Java Mail APIを使用して、Javaで単一および複数の添付ファイルを含むメールを送信する方法を学習します。

2. プロジェクトの設定

この記事では、javax.mail依存関係を持つ単純なMavenプロジェクトを作成しています。

<dependency>
    <groupId>javax.mail</groupId>
    <artifactId>mail</artifactId>
    <version>1.5.0-b01</version>
</dependency>

3. 添付ファイル付きのメールの送信

まず、メールサービスプロバイダーの資格情報を構成する必要があります。 次に、セッションオブジェクトは、電子メールホスト、ポート、ユーザー名、およびパスワードを提供することによって作成されます。 これらの詳細はすべて、電子メールホストサービスによって提供されます。 コードには、任意の偽のSMTPテストサーバーを使用できます。

セッション オブジェクトは、の構成と認証を処理するための接続ファクトリとして機能します JavaMail.

Session オブジェクトができたので、さらに進んでMimeMessageおよびMimeBodyPartオブジェクトを作成しましょう。 これらのオブジェクトを使用して、電子メールメッセージを作成します。

Message message = new MimeMessage(session); 
message.setFrom(new InternetAddress(from)); 
message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(to)); 
message.setSubject("Test Mail Subject"); 

BodyPart messageBodyPart = new MimeBodyPart(); 
messageBodyPart.setText("Mail Body");

上記のスニペットでは、from、to、subjectなどの必要な詳細を含むMimeMessageオブジェクトを作成しました。 次に、メール本文を含むMimeBodyPartオブジェクトがあります。

次に、別の MimeBodyPart を作成して、メールに添付ファイルを追加する必要があります。

MimeBodyPart attachmentPart = new MimeBodyPart();
attachmentPart.attachFile(new File("path/to/file"));

これで、1つのメールセッションに2つのMimeBodyPartオブジェクトが作成されました。 したがって、1つの MimeMultipart オブジェクトを作成してから、両方のMimeBodyPartオブジェクトを追加する必要があります。

Multipart multipart = new MimeMultipart();
multipart.addBodyPart(messageBodyPart);
multipart.addBodyPart(attachmentPart);

最後に、MimeMultiPartがメールコンテンツとしてMimeMessageオブジェクトに追加され、 Transport.send()メソッドが呼び出されてメッセージが送信されます。

message.setContent(multipart);
Transport.send(message);

要約すると、メッセージには MimeMultiPart が含まれ、さらに複数の MimeBodyPart(s)が含まれます。 ]。 これが、完全な電子メールを組み立てる方法です。

さらに、複数の添付ファイルを送信するには、別の添付ファイルを追加するだけです。 MimeBodyPart.

4. 結論

このチュートリアルでは、Javaで単一および複数の添付ファイルを含む電子メールを送信する方法を学習しました。

いつものように、完全なソースコードはGitHubから入手できます。