2017-11-02 3 views
1

XML 응답이 첨부 된 전자 메일을 마지막에 보내는 SAP HCI 시나리오가 있습니다. 파일에 20kb 크기가 있지만 수신기 하나만 있어도이 오류가 발생합니다.헤더 크기가 고정 된 최대 크기를 초과합니다

com.sun.mail.smtp.SMTPSendFailedException : 552 5.3.4 헤더 크기가

+0

1) SMTP 서버 - 클라우드 또는 온 - 2) HCI의 groovy 스크립트를 사용하여이 SMTP에 비슷한 문자를 보냈습니까? –

+1

고정 된 최대 크기는 정확히 무엇입니까? JavaMail은 호출하는 메소드의 직접적인 결과가 아닌 헤더를 거의 추가하지 않으므로 헤더 크기를 상당히 제어 할 수 있습니다. 더 많은 제어가 필요하면 MimeMessage를 서브 클래스화할 수 있습니다. –

+0

@BillShannon 여기 javamail 태그는 실수로 작성된 것입니다. 내 의견으로는 –

답변

1

확인 고정 최대 크기를 초과하면 그것을 알 :

CPI-PI SMTP adapter configuration

그것은 SMTP 어댑터 채널 - 특정 구성의 . 설계 상 개발자는 첨부 파일의 원본과 머리글을 유일한 좋은 선택 (속성이 아니라 연민의 것)으로 선택해야합니다.

CPI 메시지의 모든 헤더는 SMTP (나를위한 나쁜 디자인)로 전송되므로 지정된 첨부 파일이나 다른 헤더로 인해 제한이 발생합니다. 그런 다음

msg.setHeader('aa', "<?xml version='1.0'?><root>" + "a"*256 + "</root>") 
msg.setHeader('ab', "<?xml version='1.0'?><root>" + "a"*1024*30 + "</root>") 

, 나는 클라우드 내부 SMTP에 메시지를 게시, 수신 반송 메시지 : 긴 텍스트 작은 길이와 AB와 AA :

내 가설을 증명, 나는 두 개의 헤더를 생성
This message was created automatically by the SMTP relay on XXXXXXXXXXXXXXXX. 

A message that you sent could not be delivered to all of its recipients. 
The following address(es) failed: 

    [email protected] 
    SMTP error from remote mail server after MAIL FROM:<[email protected]> SIZE=4019: 
    host XXXXXXXXXXXX [1.1.1.1]: 550 Administrative prohibition 2017-11-03-121-56439fc44a7dc0b43c28074ed7efe877 

------ This is a copy of the message, including all the headers. ------ 

Return-path: <[email protected]> 
... 
Date: Fri, 3 Nov 2017 12:00:20 +0000 (UTC) 
From: [email protected] 
To: [email protected] 
Subject: Hello world 2017-11-03T12:00:19.019Z 
MIME-Version: 1.0 
Content-Type: multipart/mixed; 
    boundary="----=_Part_69_482225443.1509710419985" 
aa: <?xml version='1.0'?><root>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</root> 
ab: <?xml version='1.0'?><root>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</root> 
SAP_MessageProcessingLogID: AFn8WlOMHKwYXS0KJbCcva0BG9Wh 
SAP_MplCorrelationId: AFn8WlOmx_9yZFXocsPbBYIjesC9 
SAP_PregeneratedMplId: AFn8WlPK-r5wMnCqVPDM-nHhsvmo 
scriptFile: stackoverflow_47077818.groovy 
scriptFileType: groovy 

------=_Part_69_482225443.1509710419985 
Content-Type: text/plain; charset=UTF-8 
Content-Transfer-Encoding: 7bit 

Hello world body 
------=_Part_69_482225443.1509710419985 
Content-Type: application/xml; name=aa 
Content-Transfer-Encoding: 7bit 
Content-Disposition: attachment; filename=aa 

<?xml version='1.0'?><root>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</root> 
------=_Part_69_482225443.1509710419985-- 

그래서 알 수 있듯이 편지에 사용되지 않는 관련없는 헤더가 SMTP 세션 중에 전송되어 오류의 원인 일 수 있습니다.

더 좋은 방법은 간단한 Javamail 코드로 간단한 Groovy 스크립트를 사용하는 것입니다.

+0

예 unfortunatelly이게 작동합니다. 또한 메일 어댑터를 사용할 수 있도록 본문을 사용하고 다른 헤더를 제거했습니다. 또한 웹 서비스 호출을 할 때 시나리오를 수행 할 때 헤더를 사용하면 속성을 교환해야하는 문제가 있습니다. –

관련 문제