전자 메일 메시지를 프로그래밍 방식으로 처리하기 위해 작성된 스프링 통합 프로세스가 있습니다. 그것은 내 IDE에서 잘 작동하지만 Tomcat Unix 서버에 배포 할 때 실패합니다. JDK 1.6.0.4, Tomcat 7.0.29, Grails 2.0.4, Spring Integration 2.1.3 및 JavaMail 1.4.5를 실행 중입니다. 프록시 설정을 구성하여이를 실행할 수있는 방법을 찾으려고합니다. 2010 년부터는 가능하지 않다고 말하는 게시물을 보았습니다.하지만 지금은 JavaMail 속성이있는 것 같습니다. 심지어 메일 부분에 도착하기 전에 다음 (우리 datatbase 연결 등) 내부 사이트에 액세스 할 수 있기 때문에스프링 통합을위한 JavaMail 프록시 설정
내가 검토 한
나는 톰캣 setenv.sh
에 -DsocksProxyHost=myproxy.mycompany.com
을 설정하려고 못했지만, 내 응용 프로그램 실패 JavaMail API - FAQ 그리고 제대로 설정하고 있다고 생각하지만 시간이 오래갑니다.
누구나 스프링 통합 프로세스를위한 이메일 프록시를 성공적으로 설정 했습니까? 내 봄 통합 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:[email protected]/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>
솔루션이
빌 섀넌의 응답을 바탕으로, 나는 나의 javaMailProperties
아래의 조각으로 업데이트하고 모든 것이 예상대로 작동합니다.
<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>
난 당신이 모든 SSL을 통한 IMAP에 액세스하려면 "IMAPS"프로토콜을 사용하는 경우 있음을
주 ...는 JavaDocs에서 글씨를 지적하는 것이 중요하다고 생각합니다 속성은 "mail.imaps을. *"라는 것
감사합니다. [이 Gmail 문서] (http://support.google.com/mail/bin/answer.py?hl=ko&answer=78799)를 기반으로 'imaps'SSL 프로토콜을 유지해야한다고 생각합니다. 나는 또한 공장 설정을 꺼낼 것이다. 나는이 사이트의 인터넷 잘라 내기 및 붙여 넣기 설정의 희생자이지만, 배우려고합니다. [com.sun.mail.imap javadocs] (http://javamail.kenai.com/nonav/javadocs/com/sun/mail/imap/package-summary.html)에서는'mail.imap.ssl .enable'의 기본값은 "imap"프로토콜에서는 false이고 "imaps"프로토콜에서는 true이지만, 명시 적으로 설정해 보겠습니다. – GeoGriffin
양말 호스트 나 다른 프록시에'imaps' 설정이 표시되지 않습니다. 'imap.ssl' 설정이 있지만 프록시는 없습니다. 내가 놓친 게 있니? – GeoGriffin
뭔가 빠졌습니다 ... JavaDocs의 작은 글씨 ... "imaps"프로토콜을 사용하여 SSL을 통해 IMAP에 액세스하는 경우 모든 속성의 이름은 "mail.imaps. *"입니다. – GeoGriffin