2013-02-11 2 views
1

사용자에게 전자 메일 메시지를 보내려면 Spring Java Mailer 클래스를 사용하고 있습니다. org.springframework.mail.javamail.JavaMailSenderImpl 버전 1.4는 Spring Framework 3.0.7.RELEASE를 사용합니다.JavaMailSender SMTP 반송 - 다른 도메인 전자 메일 주소

실패한 이메일이 내 SMTP 서버와 도메인이 다른 사용자의 이메일 주소로 이동하도록 반송 메시지를 설정하고 싶습니다. 누구든지이 일을 수행하는 방법을 알고 있습니까? 예 : 시스템에서 [email protected]으로 전자 메일을 전송합니다. 내 smtp 서버가 somebusiness.com 도메인을 갖도록 구성되었습니다. 실패하면 내 사용자에게 바운스 백을 보냅니다 : [email protected]

나는 다음 문서를 여러 번 읽어 Specifying the bounce-back address for email

나는 mail.smtp.from 속성을 설정 자신의 방법을 사용하려고 노력을하지만도에서의 BounceBack 시도를 안 세고 (전혀 이메일을 전송하지 않습니다 잘못된 이메일은 아직 없습니다).

Properties p = new Properties(); 
p.put("mail.smtp.from", "[email protected]"); //If I comment this out, it sends emails again 
mailSender.setJavaMailProperties(p); 
Session session = Session.getDefaultInstance(p, null); 
MimeMessage mimeMessage = new MimeMessage(session); 

MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, 
       false, "utf-8"); 
mimeMessage.setContent(emailBody, "text/html"); 
helper.setTo(toAddress); 
helper.setSubject(subject); 
helper.setFrom(fromAddress); 
mailSender.send(mimeMessage); 

누구나 이유가 무엇입니까? 확실한 대답은 우리가 사용하고있는 smtp 서버가 차단하는 것처럼 보이지만 잠재적 인 다른 아이디어를 기대하고있었습니다.

답변

0

비슷한 문제가 있습니다. 아직 해결책이 없지만, 현재로서는 org.apache.commons.mail으로 간단하게 setBounceAddress(emailAddressString) 메쏘드가 있기 때문에 Spring의 메일 패키지를 대체 할 것을 고려 중입니다.

http://commons.apache.org/proper/commons-email//userguide.html

그리고 API 문서 : 내가 얼마나 아파치 커먼즈 메일을 확인

http://commons.apache.org/proper/commons-email//apidocs/org/apache/commons/mail/Email.html#setBounceAddress(java.lang.String)

0

은 매우 끝 부분을 참조하십시오 사용자 가이드의 "처리는 메시지 되돌아온" 그것의 반송 기능을 구현하고 실제로는 그냥 주소를 설정합니다. 즉, org.springframework.mail.javamail.MimeMessageHelper 클래스에서 setFrom (...)을 사용하여 스프링 메일에서 동일한 작업을 수행 할 수 있습니다.

org.apache.commons.mail.Email 클래스

소스 코드 :

if (this.bounceAddress != null) { 
    properties.setProperty(MAIL_SMTP_FROM, this.bounceAddress); 
} 

가 소스에서 참조하십시오`setFrom (...)`MimeMessageHelper``의 메서드를 호출 http://grepcode.com/file/repo1.maven.org/maven2/org.apache.commons/commons-email/1.2/org/apache/commons/mail/Email.java#539

+0

은에서-속성을 설정한다 특정 메시지. 이는 자바 메일 속성 인'mail.smtp.from'을 정의하는 것과는 다릅니다! 그러나이 속성을 게시 한 스 니펫에는 설정되어 있습니다. 'mail.smtp.from'의 정의는'SMTP MAIL 명령에 사용할 이메일 주소입니다. 봉투 반송 주소를 설정합니다. 기본값은 msg.getFrom() 또는 InternetAddress.getLocalAddress()입니다. 참고 : 이전에 mail.smtp.user가이 용도로 사용되었습니다 .' – Fencer

관련 문제