2013-08-07 7 views
0

바운스 된 이메일의 상태 헤더를 읽으려고합니다.바운스 메일 수신 상태 헤더

private void test(MimeMessage message) throws IOException, MessagingException { 
    if (message.getContent() != null && message.getContent() instanceof Multipart) { 
        Multipart content = (Multipart) message.getContent(); 
        for (int i = 0; i < content.getCount(); i++) { 
         BodyPart bodyPart = content.getBodyPart(i); 
         Enumeration headers = bodyPart.getAllHeaders(); 
         while(headers.hasMoreElements()){ 
          Header header = (Header) headers.nextElement(); 
          LOGGER.info("Header: " + header.getName() + " value: " + header.getValue()); 
         } 
        } 

       } 
} 

이메일 부분을 내가 분석하고 있습니다 : This site

원래 이메일이 여러 멀티 파트 객체로 구성되어 있습니다, 그래서 자바 코드를 읽고 있습니다 ... 더 나은 내가 노력하고 무엇을 설명

내용 설명 : 배달 보고서 Content-Type : text/plain; charset = utf-8 콘텐츠 전송 인코딩 : 7bit

보고 -MTA : dns; someLink.com X-Postfix-Queue-ID : EC862F00D0 X-Postfix-Sender : rfc822; [email protected] 도착-날짜 : 2013년 8월 7일 (수) 13시 52분 43초 0200 (CEST)

최종 수신자 : RFC822; [email protected] 원본 - 수신자 : rfc822; [email protected] 작업 : 실패 상태 : 5.1.1 원격 -MTA : dns; [somelink.com 진단 코드 : smtp; 550-5.1.1 에 접속하려고 시도한 이메일 계정이 존재하지 않습니다. . 550-5.1.1 수신자의 전자 메일 주소에 오타 또는 550-5.1.1 불필요한 공백을 두 번 확인해보십시오. 나는 단지 3 첫 번째 헤더를 볼 수 있습니다 내 로그 파일에서

:

> Header: Content-Description value: Delivery report 
> Header: Content-Type value: text/plain; charset=us-ascii INFO 
> Header: Content-Transfer-Encoding value: 7bit 

사람이 왜 알고 있나요? 상태 헤더를 어떻게 얻을 수 있습니까? 감사합니다

답변

0

헤더의 상태 정보를 찾을 수 없습니다. 내용에서 가져옵니다. 그것은 우아한 해결책은 아니지만 적어도 작동합니다. 누군가가 더 좋은 사람을 찾으면 알려주세요!

자바 코드 :

StringWriter writer = new StringWriter(); 
       IOUtils.copy(bodyPart.getInputStream(), writer); 
       LOGGER.info("Content inputstream: " + writer.toString()); 

로그 :

내용의 InputStream :보고-MTA : DNS; srvvie-mx3.styria-multi-media.com X-Postfix-Queue-ID : 2A1A8F00CF X-Postfix-Sender : rfc822; 도착 일 : 2012 년 8 월 9 일 금요일 11:14:02 +0200 (CEST)

최종 수신자 : rfc822; [email protected] 원본 - 수신자 : rfc822; [email protected] 작업 : 실패 상태 : 5.1.1 Remote-MTA : dns; 진단 코드 : smtp; 550 5.1.1 우편함 존재하지 않습니다