6.3. camel-mail
メールとの対話は、mail コンポーネントによって提供されます。
デフォルトでは、Camel は独自のメールセッションを作成し、これを使用してメールサーバーと対話します。JBoss EAP はすでに、安全な接続、ユーザー名およびパスワードの暗号化などの関連する機能がすべてサポートされるメールサブシステムを提供しているため、JBoss EAP 設定内でメールセッションを設定し、JNDI を使用して Camel エンドポイントに接続することが推奨されます。
6.3.1. JBoss EAP の設定 リンクのコピーリンクがクリップボードにコピーされました!
最初に、メールサーバーに JBoss EAP メールサブシステムを設定します。以下の例では、Google Mail IMAP および SMTP の設定を追加します。
追加の mail-session は 'default' のセッションの後に設定されます。
mail-gmail-smtp と mail-gmail-imap の outbound-socket-binding-ref
値を設定できます。
次のステップでは、これらのソケットバインディングを設定します。以下のように、socket-binding-group
設定にバインディングを追加できます。
これにより、ポート 465 で smtp.gmail.com ホスト、ポート 993 で imap.gmail.com に接続するようにメールセッションが設定されます。別のメールホストを使用している場合は、この詳細が異なります。
6.3.2. POP3 の設定 リンクのコピーリンクがクリップボードにコピーされました!
POP3 セッションを設定する必要がある場合は、原則は上記の例で定義されているものと同じです。
6.3.3. Camel ルートの設定 リンクのコピーリンクがクリップボードにコピーされました!
6.3.3.1. メールプロデューサー リンクのコピーリンクがクリップボードにコピーされました!
この例では、CDI と camel-cdi コンポーネントの併用と共に、SMTPS プロトコルを使用します。JBoss EAP 設定内で設定した Java メールセッションは、JNDI を介して Camel RouteBuilder に注入されます。
6.3.3.1.1. ルートビルダー SMTPS の例 リンクのコピーリンクがクリップボードにコピーされました!
GMail のメールセッションは、以前に設定した jndi-name
属性への参照とともに @Resource
アノテーションを使用して Producer クラスに注入されます。これにより、camel-mail エンドポイント設定でメールセッションを参照できます。
メールを送信するには、ProducerTemplate を作成し、必要なメールヘッダーとともに適切なボディーを送信します。
6.3.3.2. メールコンシューマー リンクのコピーリンクがクリップボードにコピーされました!
メールを受信するには、IMAP MailEndpoint を使用できます。Camel ルート設定は以下のようになります。
public void configure() throws Exception { from("imaps://imap.gmail.com?session=#mailSession") .to("log:email"); }
public void configure() throws Exception {
from("imaps://imap.gmail.com?session=#mailSession")
.to("log:email");
}
6.3.4. セキュリティー リンクのコピーリンクがクリップボードにコピーされました!
6.3.4.1. SSL 設定 リンクのコピーリンクがクリップボードにコピーされました!
JBoss EAP を、SSL/TLS を使用して Java メールセッションと関連トランスポートを管理するように設定できます。メールセッションを設定する場合は、サーバータイプに SSL または TLS を設定できます。
- smtp-server
- imap-server
- pop-server
ssl="true"
属性または tls="true"
属性を設定する場合。
6.3.4.2. パスワードの保護 リンクのコピーリンクがクリップボードにコピーされました!
設定ファイル内では、パスワードにはクリアテキストを使用しないことが推奨されます。WildFly Vault を使用して機密データをマスクできます。
6.3.4.3. Camel のセキュリティー リンクのコピーリンクがクリップボードにコピーされました!
Camel エンドポイントのセキュリティードキュメントは、mail コンポーネントガイドにあります。Camel には セキュリティーの概要 ページもあります。
6.3.5. GitHub のコード例 リンクのコピーリンクがクリップボードにコピーされました!
GitHub で利用できる camel-mail アプリケーション のサンプルで、電子メールの送受信を試すことができます。