Java 在JBoss中配置电子邮件-JNDI资源未获得正确配置

Java 在JBoss中配置电子邮件-JNDI资源未获得正确配置,java,email,jboss,Java,Email,Jboss,我正在尝试将我的应用程序配置为在JBoss 7.10.GA中发送电子邮件。一切看起来都配置正确,但当我测试代码时,它会抛出一个错误: javax.mail.MessaginException:无法连接到SMTP主机:localhost,端口:25 在我的standalone.xml文件中似乎找不到正确的电子邮件配置,因为它只是默认为localhost端口25。从我读到的所有表格中,这是所有需要完成的配置,但我肯定遗漏了一些东西 <subsystem xmlns="urn:jboss:d

我正在尝试将我的应用程序配置为在JBoss 7.10.GA中发送电子邮件。一切看起来都配置正确,但当我测试代码时,它会抛出一个错误:

javax.mail.MessaginException:无法连接到SMTP主机:localhost,端口:25

在我的standalone.xml文件中似乎找不到正确的电子邮件配置,因为它只是默认为localhost端口25。从我读到的所有表格中,这是所有需要完成的配置,但我肯定遗漏了一些东西

  <subsystem xmlns="urn:jboss:domain:mail:1.1">
        <mail-session jndi-name="java:jboss/mail/Gmail">
            <smtp-server ssl="true" outbound-socket-binding-ref="mail-gmail-smtp">
                <login name="email@gmail.com" password="password"/>
            </smtp-server>
        </mail-session>
    </subsystem>
  <socket-binding-group...
      <outbound-socket-binding name="mail-gmail-smtp">
          <remote-destination host="smtp.gmail.com" port="465"/>
      </outbound-socket-binding>
  </socket-binding-group>

我找到了使其在本地工作的解决方案,但在部署到OpenShift时没有,这是因为找不到资源名称

我删除了:

@Resource(lookup = "java:jboss/mail/Gmail")
并补充说:

InitialContext ic = new InitialContext();       
mailSession = (Session)ic.lookup("java:jboss/mail/Gmail");
这是我引用的文章

更新: 发送电子邮件在我的本地配置上有效,但当我将其部署到OpenShift时,会出现以下错误:

javax.naming.NameNotFoundException:Name[jboss/mail/Gmail]在此上下文中未绑定。找不到[jboss]


我想这是因为它是在我的本地副本上设置的,没有传输到OpenShift。现在,我需要找出需要在.openshift/config目录中添加这些声明的文件。有人知道吗?

看来@Resource(lookup=“java:jboss/mail/Gmail”)找不到资源它显示在启动日志上了吗?启动日志中没有显示任何内容。默认的是,它显示在server.log上吗?只是想确保您的启动脚本使用的是正确的配置xml文件。日志应该有类似于
绑定邮件会话[java:jboss/mail/Default]
的内容,包括默认的和gmail的。那么,无论您指定哪个端口,这都可以工作吗?我没有尝试其他端口,但它在端口465上对我有效
InitialContext ic = new InitialContext();       
mailSession = (Session)ic.lookup("java:jboss/mail/Gmail");