我遵循了一个示例,将资源添加到我的 webapp context.xml
<Resource auth="Container" mail.smtp.host="localhost"
name="containeremail" type="javax.mail.Session" />
在 web.xml 我有:
<resource-ref>
<description>Container Email resource</description>
<res-ref-name>containeremail</res-ref-name>
<res-type>javax.mail.Session</res-type>
<res-auth>Container</res-auth>
<res-sharing-scope>Shareable</res-sharing-scope>
然后我使用 Javamail 发送这样的电子邮件:
Context initCtx = new InitialContext();
Context envCtx = (Context) initCtx.lookup("java:comp/env");
mailSession=(Session)envCtx.lookup("containeremail");
mailSession.setDebug(true);
Transport.send(message);
这在我的开发环境中运行良好。
但是,当我在我的生产 CENTOS 框中部署时,我得到了这个异常:
javax.mail.MessagingException: Could not connect to SMTP host: localhost, port: 365;
嵌套异常是:java.net.ConnectException:连接被拒绝
Postfix 已安装并在两台机器上运行。我什至尝试在 context.xml 中将端口指定为 25:
mail.smtp.port="25"
但即使这样,它仍然有上面提到端口 365 的例外 ????
关于什么是错的任何想法?
谢谢
斯普诺格