我正在开发一个连接到JBOSS中配置的java邮件会话的应用程序。我只知道如何为我的服务器部署应用程序。
在我的独立的-Ful.xml中
<outbound-socket-binding name="mail-smtp">
<remote-destination host="localhost" port="25"/>
</outbound-socket-binding>在我的domain.xml里。下面的配置文件配置为正在使用的服务器的配置文件。
<subsystem xmlns="urn:jboss:domain:mail:1.2">
<mail-session name="default" jndi-name="java:jboss/mail/Default">
<smtp-server outbound-socket-binding-ref="mail-smtp"/>
</mail-session>
<mail-session name="EmailFilenet" jndi-name="java:jboss/mail/Email">
<smtp-server ssl="true" outbound-socket-binding-ref="mail-smtp">
<login name="email" password="pass"/>
</smtp-server>
</mail-session>
</subsystem>在我的密码里。
Context ictx = new InitialContext();
mailSession = (Session) ictx.lookup("java:jboss/mail/Email");
MimeMessage message = new MimeMessage(mailSession);
message.setSubject(subject);
message.setRecipients(javax.mail.Message.RecipientType.TO,
javax.mail.internet.InternetAddress.parse(email, false));
message.setText(body);
message.saveChanges();以下是错误:
23:44:10,025 INFO [stdout] (Thread-5 (HornetQ-client-global-threads-
473161222)) javax.mail.MessagingException: Could not connect to SMTP host:
localhost, port: 465;
23:44:10,025 INFO [stdout] (Thread-5 (HornetQ-client-global-threads-
473161222)) nested exception is:
23:44:10,025 INFO [stdout] (Thread-5 (HornetQ-client-global-threads-
473161222)) java.net.ConnectException: Connection refused: connect
23:44:10,025 INFO [stdout] (Thread-5 (HornetQ-client-global-threads-
473161222)) at
com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1972)
23:44:10,025 INFO [stdout] (Thread-5 (HornetQ-client-global-threads-
473161222)) at
com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:642)
23:44:10,025 INFO [stdout] (Thread-5 (HornetQ-client-global-threads-
473161222)) at javax.mail.Service.connect(Service.java:295)
23:44:10,025 INFO [stdout] (Thread-5 (HornetQ-client-global-threads-
473161222)) at javax.mail.Service.connect(Service.java:176)
23:44:10,025 INFO [stdout] (Thread-5 (HornetQ-client-global-threads-
473161222)) at javax.mail.Service.connect(Service.java:196)我已经查过这个指南了。https://docs.jboss.org/jbossweb/3.0.x/jndi-resources-howto.html,但是一旦服务器关闭,web.xml get就会被擦除。所以我不认为它适用于我。
难道我不需要通过JNDI连接邮件会话,然后属性就已经设置好了吗?为什么它试图将smtp主机连接到本地主机和端口465?
发布于 2017-12-13 14:46:30
我能够通过修改domain.xml和standalone.xml中的远程目标主机和端口值来解决问题。
以前的配置:
<outbound-socket-binding name="mail-smtp">
<remote-destination host="localhost" port="25"/>
</outbound-socket-binding>更新配置:
<outbound-socket-binding name="mail-smtp">
<remote-destination host="smtp.gmail.com" port="465"/>
</outbound-socket-binding>做完这些之后。我在证书中遇到了错误。所以我下载了一个应用程序从gmail中提取证书并导入到我的信任库和密钥库。然后一切都很好。
发布于 2017-11-11 02:17:48
它试图连接到本地主机,因为您告诉它服务器在本地主机(<remote-destination host="localhost")上。
它试图连接到端口465,因为您说要使用SSL (<smtp-server ssl="true")。
https://stackoverflow.com/questions/47226896
复制相似问题