【问题标题】:Wildfly -9 javax.mail is not workingWildfly -9 javax.mail 不工作
【发布时间】:2015-10-17 10:58:50
【问题描述】:

我在我的应用程序中使用 Wildfly 9.0.0 Final 和 javax.mail api

我收到以下日志:

2015-07-27 15:08:16,318 CONFIG [javax.mail] (default task-17) Providers Listed By Class Name: {com.sun.mail.smtp.SMTPSSLTransport=javax.mail.Provider[TRANSPORT,smtps,com.sun.mail.smtp.SMTPSSLTransport,Sun Microsystems, Inc], com.sun.mail.smtp.SMTPTransport=javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Sun Microsystems, Inc], com.sun.mail.imap.IMAPSSLStore=javax.mail.Provider[STORE,imaps,com.sun.mail.imap.IMAPSSLStore,Sun Microsystems, Inc], com.sun.mail.pop3.POP3SSLStore=javax.mail.Provider[STORE,pop3s,com.sun.mail.pop3.POP3SSLStore,Sun Microsystems, Inc], com.sun.mail.imap.IMAPStore=javax.mail.Provider[STORE,imap,com.sun.mail.imap.IMAPStore,Sun Microsystems, Inc], com.sun.mail.pop3.POP3Store=javax.mail.Provider[STORE,pop3,com.sun.mail.pop3.POP3Store,Sun Microsystems, Inc]}
2015-07-27 15:08:16,318 CONFIG [javax.mail] (default task-17) Providers Listed By Protocol: {imaps=javax.mail.Provider[STORE,imaps,com.sun.mail.imap.IMAPSSLStore,Sun Microsystems, Inc], imap=javax.mail.Provider[STORE,imap,com.sun.mail.imap.IMAPStore,Sun Microsystems, Inc], smtps=javax.mail.Provider[TRANSPORT,smtps,com.sun.mail.smtp.SMTPSSLTransport,Sun Microsystems, Inc], pop3=javax.mail.Provider[STORE,pop3,com.sun.mail.pop3.POP3Store,Sun Microsystems, Inc], pop3s=javax.mail.Provider[STORE,pop3s,com.sun.mail.pop3.POP3SSLStore,Sun Microsystems, Inc], smtp=javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Sun Microsystems, Inc]}
2015-07-27 15:08:16,319 CONFIG [javax.mail] (default task-17) successfully loaded resource: /META-INF/javamail.default.address.map
2015-07-27 15:08:16,340 DEBUG [class com.bodhtree.nexus.util.mail.Mail] (default task-17) TO : jobseeker403@gmail.com
2015-07-27 15:08:16,341 DEBUG [class com.bodhtree.nexus.util.mail.Mail] (default task-17) ccAddresses : 
2015-07-27 15:08:16,341 DEBUG [class com.bodhtree.nexus.util.mail.Mail] (default task-17) bccAddresses : 
2015-07-27 15:08:16,341 DEBUG [class com.bodhtree.nexus.util.mail.Mail] (default task-17) messagesender : support@smarthires.com
2015-07-27 15:08:16,341 DEBUG [class com.bodhtree.nexus.util.mail.Mail] (default task-17) I subjectFriend recommends "Admin" opening at "ALECTO HEALTHCARE"
2015-07-27 15:08:16,346 DEBUG [class com.bodhtree.nexus.util.mail.Mail] (default task-17) Message: javax.mail.internet.MimeMessage@6be2cbe7
2015-07-27 15:08:16,357 FINE  [javax.activation] (default task-17) MailcapCommandMap: load HOME
2015-07-27 15:08:16,359 FINE  [javax.activation] (default task-17) new MailcapFile: file C:\Users\kiran.MAHATHI\.mailcap
2015-07-27 15:08:16,360 FINE  [javax.activation] (default task-17) MailcapCommandMap: load SYS
2015-07-27 15:08:16,360 FINE  [javax.activation] (default task-17) new MailcapFile: file C:\Program Files\Java\jdk1.8.0_45\jre\lib\mailcap
2015-07-27 15:08:16,360 FINE  [javax.activation] (default task-17) MailcapCommandMap: load JAR
2015-07-27 15:08:16,362 FINE  [javax.activation] (default task-17) MailcapCommandMap: getResources
2015-07-27 15:08:16,362 FINE  [javax.activation] (default task-17) MailcapCommandMap: URL vfs:/C:/Work/wildfly-9.0.0.Final/bin/content/SmarthiresMaven.war/WEB-INF/lib/mail-1.4.jar/META-INF/mailcap
2015-07-27 15:08:16,363 FINE  [javax.activation] (default task-17) new MailcapFile: InputStream
2015-07-27 15:08:16,364 FINE  [javax.activation] (default task-17) parse: text/plain;;      x-java-content-handler=com.sun.mail.handlers.text_plain
2015-07-27 15:08:16,364 FINE  [javax.activation] (default task-17)   Type: text/plain
2015-07-27 15:08:16,364 FINE  [javax.activation] (default task-17)     Command: content-handler, Class: com.sun.mail.handlers.text_plain
2015-07-27 15:08:16,364 FINE  [javax.activation] (default task-17) parse: text/html;;       x-java-content-handler=com.sun.mail.handlers.text_html
2015-07-27 15:08:16,365 FINE  [javax.activation] (default task-17)   Type: text/html
2015-07-27 15:08:16,365 FINE  [javax.activation] (default task-17)     Command: content-handler, Class: com.sun.mail.handlers.text_html
2015-07-27 15:08:16,365 FINE  [javax.activation] (default task-17) parse: text/xml;;        x-java-content-handler=com.sun.mail.handlers.text_xml
2015-07-27 15:08:16,365 FINE  [javax.activation] (default task-17)   Type: text/xml
2015-07-27 15:08:16,365 FINE  [javax.activation] (default task-17)     Command: content-handler, Class: com.sun.mail.handlers.text_xml
2015-07-27 15:08:16,365 FINE  [javax.activation] (default task-17) parse: multipart;;       x-java-content-handler=com.sun.mail.handlers.multipart_mixed; x-java-fallback-entry=true
2015-07-27 15:08:16,365 FINE  [javax.activation] (default task-17)   Type: multipart
2015-07-27 15:08:16,366 FINE  [javax.activation] (default task-17)     Command: content-handler, Class: com.sun.mail.handlers.multipart_mixed
2015-07-27 15:08:16,366 FINE  [javax.activation] (default task-17) parse: message/rfc822;;  x-java-content-handler=com.sun.mail.handlers.message_rfc822
2015-07-27 15:08:16,366 FINE  [javax.activation] (default task-17)   Type: message/rfc822
2015-07-27 15:08:16,366 FINE  [javax.activation] (default task-17)     Command: content-handler, Class: com.sun.mail.handlers.message_rfc822
2015-07-27 15:08:16,366 FINE  [javax.activation] (default task-17) MailcapCommandMap: successfully loaded mailcap file from URL: vfs:/C:/Work/wildfly-9.0.0.Final/bin/content/SmarthiresMaven.war/WEB-INF/lib/mail-1.4.jar/META-INF/mailcap
2015-07-27 15:08:16,366 FINE  [javax.activation] (default task-17) MailcapCommandMap: load DEF
2015-07-27 15:08:16,367 FINE  [javax.activation] (default task-17) new MailcapFile: InputStream
2015-07-27 15:08:16,367 FINE  [javax.activation] (default task-17) parse: image/gif;;       x-java-view=com.sun.activation.viewers.ImageViewer
2015-07-27 15:08:16,367 FINE  [javax.activation] (default task-17)   Type: image/gif
2015-07-27 15:08:16,368 FINE  [javax.activation] (default task-17)     Command: view, Class: com.sun.activation.viewers.ImageViewer
2015-07-27 15:08:16,368 FINE  [javax.activation] (default task-17) parse: image/jpeg;;      x-java-view=com.sun.activation.viewers.ImageViewer
2015-07-27 15:08:16,368 FINE  [javax.activation] (default task-17)   Type: image/jpeg
2015-07-27 15:08:16,368 FINE  [javax.activation] (default task-17)     Command: view, Class: com.sun.activation.viewers.ImageViewer
2015-07-27 15:08:16,368 FINE  [javax.activation] (default task-17) parse: text      x-java-view=com.sun.activation.viewers.TextViewer
2015-07-27 15:08:16,368 FINE  [javax.activation] (default task-17)   Type: text
2015-07-27 15:08:16,368 FINE  [javax.activation] (default task-17)     Command: view, Class: com.sun.activation.viewers.TextViewer
2015-07-27 15:08:16,370 FINE  [javax.activation] (default task-17) parse: text  x-java-edit=com.sun.activation.viewers.TextEditor
2015-07-27 15:08:16,371 FINE  [javax.activation] (default task-17)   Type: text
2015-07-27 15:08:16,371 FINE  [javax.activation] (default task-17)     Command: edit, Class: com.sun.activation.viewers.TextEditor
2015-07-27 15:08:16,371 FINE  [javax.activation] (default task-17) Merging commands for type text
2015-07-27 15:08:16,372 FINE  [javax.activation] (default task-17) MailcapCommandMap: successfully loaded mailcap file: /META-INF/mailcap.default
2015-07-27 15:08:16,372 FINE  [javax.activation] (default task-17) MailcapCommandMap: createDataContentHandler for text/html
2015-07-27 15:08:16,372 FINE  [javax.activation] (default task-17)   search DB #1
2015-07-27 15:08:16,373 FINE  [javax.activation] (default task-17)     got content-handler
2015-07-27 15:08:16,373 FINE  [javax.activation] (default task-17)       class com.sun.mail.handlers.text_html
2015-07-27 15:08:16,385 FINE  [javax.mail] (default task-17) getProvider() returning javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Sun Microsystems, Inc]
2015-07-27 15:08:16,448 FINE  [com.sun.mail.smtp] (default task-17) need username and password for authentication
2015-07-27 15:08:16,449 FINE  [com.sun.mail.smtp] (default task-17) useEhlo true, useAuth true
2015-07-27 15:08:16,450 FINE  [com.sun.mail.smtp] (default task-17) trying to connect to host "smtp.gmail.com", port 465, isSSL false
2015-07-27 15:09:24,610 DEBUG [org.jboss.ejb.client.txn] (Periodic Recovery) Send recover request for transaction origin node identifier 1 to EJB receiver with node name kirankumar
2015-07-27 15:09:34,613 DEBUG [org.jboss.ejb.client.txn] (Periodic Recovery) Send recover request for transaction origin node identifier 1 to EJB receiver with node name kirankumar
2015-07-27 15:11:34,620 DEBUG [org.jboss.ejb.client.txn] (Periodic Recovery) Send recover request for transaction origin node identifier 1 to EJB receiver with node name kirankumar
2015-07-27 15:11:44,621 DEBUG [org.jboss.ejb.client.txn] (Periodic Recovery) Send recover request for transaction origin node identifier 1 to EJB receiver with node name kirankumar

而且我没有在我的应用程序中使用任何类型的 EJB。并尝试使用 Wildfly 8.2.0 及其对我的作品。但我的应用程序需要 Wildfly 9。 我找不到导致问题的原因。

【问题讨论】:

  • 我在上面的日志文件中没有看到任何错误。有什么问题?
  • 电子邮件没有发送,我仍然在浏览器中看到加载程序...这是因为在 Wildfly 9.0Final 中存在 infispan 3.0 版配置。我已经提到 Wildfly 8.2.0 运行良好,电子邮件也没有任何问题。
  • 您的日志文件中是否有任何错误?您在问题中显示的日志输出都是“正常”输出。
  • 这一行是什么意思?DEBUG [org.jboss.ejb.client.txn] (Periodic Recovery) 向节点名为kirankumar的EJB接收者发送事务源节点标识符1的恢复请求跨度>
  • 服务器继续请求...

标签: java server jboss7.x jakarta-mail wildfly


【解决方案1】:

您正在尝试在端口 465 上连接到 smtp.gmail.com,这是一个 SSL 端口,但 JavaMail 认为您不想使用 SSL。您可能在 SSL 协议协商中失败了。您为正在使用的 JavaMail 会话设置配置的方式有问题。

【讨论】:

  • 是的.. 你是正确的比尔。邮件会话的握手失败,它继续请求。我在没有 SSL 的端口 465 上使用 mtp.gmail.com。它在 Wildfly8 中工作,我必须对 Wildfly 9 做一些事情。邮件正在通过我的应用程序。并且所有身份验证和 smtp 连接都将仅在代码中发生。不在服务器邮件会话设置上。我也提到了khozzy.blogspot.in/2013/10/…,但不适合我。你能告诉我另一种解决方案吗?
  • 我必须查看您的 JavaMail 会话配置,但很难相信您能够在没有 SSL 的情况下连接端口 465,因为服务器总是希望该端口上有 SSL。你不是setting your own socket factory,是吗?
【解决方案2】:

最后我发现是因为 Wildfly9.0.0.Final 中的邮件模块。我们可以将其作为临时解决方案。它对我有用。

<wildfly-9.0.0.Final-Home>\standalone\configuration打开standalone-ha.xml

释放以下内容

<subsystem xmlns="urn:jboss:domain:mail:2.0">
         <mail-session name="default" jndi-name="java:jboss/mail/Default">
                <smtp-server outbound-socket-binding-ref="mail-smtp"/>
          </mail-session>
  </subsystem>

<subsystem xmlns="urn:jboss:domain:mail:2.0">
     <mail-session name="default" jndi-name="java:jboss/mail/Default">
      </mail-session>
 </subsystem>

现在从&lt;wildfly-9.0.0.Final-Home&gt;\modules\system\layers\base\javax\mail\api\main打开“module.xml”

替换下面一行

<resource-root path="javax.mail-1.5.3.jar"/>

<resource-root path="javax.mail-1.5.1.jar"/>

并复制“javax.mail-1.5.1.jar”表格

<wildfly-8.2.0.Final -Home>\modules\system\layers\base\javax\mail\api\main

<wildfly-9.0.0.Final-Home>\modules\system\layers\base\javax\mail\api\main

并删除“javax.mail-1.5.3.jar”

来自

<wildfly-9.0.0.Final-Home>\modules\system\layers\base\javax\mail\api\main

然后重启服务器。它对我有用。

【讨论】:

  • 您是否尝试仅删除 条目?我想不出 JavaMail 1.5.1 和 1.5.3 之间的区别可以解释你所看到的。在这两种情况下比较 debug output 会很有趣。
  • 请参阅此developer.jboss.org/thread/261565。 Wildfly9.0.0.Final Mail 模块有问题。我正在使用 jdk1.8
  • 所以解决方法是您的应用程序中有一个旧的 JavaMail jar 文件,您需要删除它吗?
  • 是的,比尔。 JavaMail 中从 1.5.1 到 1.5.3 的包是否有任何重大变化?
  • 我想这取决于您所说的“主要包更改”是什么意思,但我会说不。您可以找到更改历史记录here
猜你喜欢
  • 1970-01-01
  • 2015-09-27
  • 1970-01-01
  • 1970-01-01
  • 2017-01-08
  • 2015-03-06
  • 2017-11-10
  • 1970-01-01
  • 2016-10-28
相关资源
最近更新 更多