9.2. カスタムトランスポートの設定
JBoss EAP で SMTP、POP3、IMAP などの標準メールサーバーを設定する場合、いくつかの属性を定義する必要があります。最も重要なのは outbound-socket-binding-ref 属性です。この属性は、メールセッションを特定のホストとポートにリンクします。ただし、負荷分散のために複数のホストを設定する場合、標準の Jakarta Mail 設定では、複数のホストがサポートされていないため、不十分な場合があります。このような場合は、管理 CLI を通じてカスタムメールトランスポートを設定する必要があります。このカスタムトランスポートでは、より柔軟な設定が可能で、outbound-socket-binding-ref 属性が必要ありません。
前提条件
- JBoss EAP がインストールされ、実行されている。
手順
新しいメールセッションを追加し、JNDI 名を指定します。
/subsystem=mail/mail-session=mySession:add(jndi-name=java:jboss/mail/MySession)
/subsystem=mail/mail-session=mySession:add(jndi-name=java:jboss/mail/MySession)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 送信ソケットバインディングを追加し、ホストとポートを指定します。
/socket-binding-group=standard-sockets/remote-destination-outbound-socket-binding=my-smtp-binding:add(host=localhost, port=25)
/socket-binding-group=standard-sockets/remote-destination-outbound-socket-binding=my-smtp-binding:add(host=localhost, port=25)Copy to Clipboard Copied! Toggle word wrap Toggle overflow SMTP サーバーを追加し、送信ソケットバインディング、ユーザー名、およびパスワードを指定します。
/subsystem=mail/mail-session=mySession/server=smtp:add(outbound-socket-binding-ref=my-smtp-binding, username=user, password=pass, tls=true)
/subsystem=mail/mail-session=mySession/server=smtp:add(outbound-socket-binding-ref=my-smtp-binding, username=user, password=pass, tls=true)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記同様の手順で POP3 または IMAP サーバーを設定できます。
- POP3 サーバー
/socket-binding-group=standard-sockets/remote-destination-outbound-socket-binding=my-pop3-binding:add(host=localhost, port=110) /subsystem=mail/mail-session=mySession/server=pop3:add(outbound-socket-binding-ref=my-pop3-binding, username=user, password=pass)
/socket-binding-group=standard-sockets/remote-destination-outbound-socket-binding=my-pop3-binding:add(host=localhost, port=110) /subsystem=mail/mail-session=mySession/server=pop3:add(outbound-socket-binding-ref=my-pop3-binding, username=user, password=pass)Copy to Clipboard Copied! Toggle word wrap Toggle overflow - IMAP サーバー
/socket-binding-group=standard-sockets/remote-destination-outbound-socket-binding=my-imap-binding:add(host=localhost, port=143) /subsystem=mail/mail-session=mySession/server=imap:add(outbound-socket-binding-ref=my-imap-binding, username=user, password=pass)
/socket-binding-group=standard-sockets/remote-destination-outbound-socket-binding=my-imap-binding:add(host=localhost, port=143) /subsystem=mail/mail-session=mySession/server=imap:add(outbound-socket-binding-ref=my-imap-binding, username=user, password=pass)Copy to Clipboard Copied! Toggle word wrap Toggle overflow カスタムサーバーを使用するには、送信ソケットバインディングを指定せずにカスタムメールサーバーを作成します。カスタムメールサーバーのプロパティー定義でホスト情報を指定できます。以下に例を示します。
/subsystem=mail/mail-session=mySession/custom=myCustomServer:add(username=user,password=pass, properties={"host" => "myhost", "my-property" =>"value"})
/subsystem=mail/mail-session=mySession/custom=myCustomServer:add(username=user,password=pass, properties={"host" => "myhost", "my-property" =>"value"})
カスタムプロトコルを定義する場合、ピリオド (.) が含まれるプロパティー名は完全修飾名と見なされ、直接渡されます。my-property など、他の形式は mail.server-name.my-property という形式に変換されます。
以下の XML は、カスタムサーバーが含まれるメール設定の例になります。