Tomcat 为Spring集成设置JavaMail代理
我创建了一个Spring集成过程,以编程方式处理电子邮件消息。它在我的IDE中运行良好,但在我将其部署到Tomcat Unix服务器时失败。 我正在运行JDK1.6.0.4、Tomcat7.0.29、Grails2.0.4、SpringIntegration 2.1.3和JavaMail 1.4.5。我正试图弄清楚如何配置代理设置,以便运行此程序。我看到2010年的帖子说这是不可能的,但现在看来有了JavaMail属性 我确实尝试在TomcatTomcat 为Spring集成设置JavaMail代理,tomcat,proxy,jakarta-mail,spring-integration,Tomcat,Proxy,Jakarta Mail,Spring Integration,我创建了一个Spring集成过程,以编程方式处理电子邮件消息。它在我的IDE中运行良好,但在我将其部署到Tomcat Unix服务器时失败。 我正在运行JDK1.6.0.4、Tomcat7.0.29、Grails2.0.4、SpringIntegration 2.1.3和JavaMail 1.4.5。我正试图弄清楚如何配置代理设置,以便运行此程序。我看到2010年的帖子说这是不可能的,但现在看来有了JavaMail属性 我确实尝试在Tomcatsetenv.sh中设置-DsocksProxyHo
setenv.sh
中设置-DsocksProxyHost=myproxy.mycompany.com
,但我的应用程序在到达邮件部分之前就失败了,因为它无法访问内部站点(如我们的datatbase连接)
我已经看过了,我认为我的设置是正确的,但它总是超时
是否有人成功地为Spring集成过程设置了电子邮件代理
我的Spring集成XML文件中的代码段:
<util:properties id="javaMailProperties">
<prop key="mail.imap.socketFactory.class">javax.net.ssl.SSLSocketFactory</prop>
<prop key="mail.imap.socketFactory.fallback">false</prop>
<prop key="mail.store.protocol">imaps</prop>
<prop key="mail.debug">true</prop>
<prop key="mail.smtp.socks.host">socksproxy.mycompany.com</prop>
<prop key="mail.smtp.socks.port">1080</prop>
<prop key="mail.imap.socks.host">socksproxy.mycompany.com</prop>
<prop key="mail.imap.socks.port">1080</prop>
</util:properties>
<mail:inbound-channel-adapter id="imapAdapter"
store-uri="imaps://myEmailAddress:myPassword@imap.gmail.com/INBOX"
java-mail-properties="javaMailProperties"
channel="receiveEmailChannel"
should-delete-messages="false"
should-mark-messages-as-read="true"
auto-startup="true">
<int:poller max-messages-per-poll="1" fixed-rate="15" time-unit="SECONDS">
</int:poller>
</mail:inbound-channel-adapter>
我认为重要的是要指出
请注意,如果使用“imaps”协议通过SSL访问IMAP,则所有属性都将命名为“mail.imaps.*”
至少有两个问题 首先 其次,您使用的是
imaps
协议,但设置的是imap
协议的属性
将
mail.store.protocol
设置为imap
并将mail.imap.ssl.enable
设置为true
,或者将所有mail.imap.
属性更改为mail.imap.
属性。谢谢比尔。基于,我认为我需要保留imaps
SSL协议。我也会拿出出厂设置。我肯定是这一次互联网剪切和粘贴设置的受害者,但我正在努力学习。显示mail.imap.ssl.enable
对于“imap”协议默认为false,对于“imaps”协议默认为true,但我将尝试显式设置它。我没有看到socks主机或其他代理的imaps
设置。我看到一些imap.ssl
设置,但没有代理设置。我错过了什么吗?我错过了什么。。。来自JavaDocs的精细打印。。。请注意,如果您使用“imaps”协议通过SSL访问IMAP,则所有属性都将命名为“mail.imaps.*”。谢谢!工作得很有魅力。我认为imaps设置就是它所做的。
<util:properties id="javaMailProperties">
<prop key="mail.store.protocol">imaps</prop>
<prop key="mail.imap.ssl.enable">true</prop>
<prop key="mail.debug">true</prop>
<prop key="mail.imaps.socks.host">socksproxy.mycompany.com</prop>
<prop key="mail.imaps.socks.port">1080</prop>
</util:properties>