9.2. 配置自定义传输
当您在 JBoss EAP 中配置标准邮件服务器(如 SMTP、POP3 或 IMAP)时,您需要定义几个属性,并且最关键是 outbound-socket-binding-ref 属性。此属性将您的邮件会话链接到特定的主机和端口。但是,如果您的设置涉及多个用于负载均衡的主机,则标准 Jakarta 邮件配置可能会很短,因为它们不支持多个主机。在这种情况下,您应该通过管理 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)
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)
要使用自定义服务器,请创建一个没有出站套接字绑定的自定义邮件服务器。您可以在自定义邮件服务器的属性定义中指定主机信息。例如:
/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 是包含自定义服务器的示例邮件配置。