리턴 메시지 : message size exceeds limit

    □ 리턴 메시지

    리턴 메시지
    552 Message length exceeds administrative limit 메시지의 길이가 관리 제한을 초과 합니다.
    552 #5.3.4 message size exceeds limit 메시지 크기가 제한을 초과 합니다.
    550 [Sniper] Exceeds the limit size of email 이메일 제한 크기를 초과했습니다.
    message size exceeds fixed maximum size 메시지 크기가 고정된 최대 크기를 초과 합니다.
    552 5.3.4 Error: message file too big 보내신 메일의 크기가 커서, 받는 서버에서 수신을 차단하였습니다. ※ 네이버
    552 5.3.4 Message size exceeds fixed limit 발송하신 편지의 크기가 너무커서 받는이가 속한 메일서버에서 수신을 거부하였습니다. ※ 다음(카카오), G메일

    수신 측 메일서버에서 메일을 받을 수 있는 크기 제한을 초과하여 오는 리턴 메시지입니다. 좀 더 쉽게 말씀드리자면 내가 보낸 메일이 일반 첨부를 포함하여 크기가 [20MB]라고 했을 때 받는 메일서버가 메일 메시지 크기를 받을 수 있는 한도를 [10MB]로 설정이 되어 있다면 크기 초과로 인해 메일 받기를 거부했다는 뜻입니다.

     

    포탈의 경우는 친절하게 폼메일 형식으로 해결방법에 대한 제시로 "메일의 크기를 줄이시거나, 여러 통으로 나눠서 발송해 주십시오."라고 안내 메시지가 있습니다. 하지만 기업메일을 사용하면서 아웃룩 같은 클라이언트 POP/IMAP/SMTP를 통해서 연결 발송 시도를 하다 보면 뜬금없이 해당 리턴 메시지로만 받다 보니 당황하시는 분들이 있습니다. 요즘은 일반 첨부를 할 수 있는 용량을 정해서 사용하기 때문에 이 문의가 많이 줄긴 했지만, 아직도 간간히 오는 문의중 하나입니다.

     

     

    □ 원문 메시지[예시]

     

     

    □ 메일 관리자가 알고 있으면 좋은 팁

    수신 메일 서버에서 메일 메시지 크기를 얼마만큼 제한하고 있는지 알 수 있는지 확인할 수 있는 방법이 있습니다. 무조건은 아니지만 네트워크 통신이 허용되어 있으면 대체로 확인이 가능합니다. 바로 네트워크 프로토콜인 텔넷(Telnet)을 이용하는 방법입니다. 요즘은 보안 문제 때문에 잘 사용하지는 않지만 클라이언트에서 연결 테스트로 사용하기에는 괜찮습니다. Windows의 경우는 패키지에 포함되어 있으며 유닉스, 리눅스의 경우는 따로 설치를 해야 할 수 있습니다.

    포스팅 참고 : https://foxydog.tistory.com/70

     

    ※ 윈도우 명령 프롬프트(CMD)를 통한 텔넷(Telnet) 확인

     

    ① 윈도우 검색에서 명령 프롬프트(CMD)를 실행합니다.

     

    ② 수신 측에 접근할 MX(메일서버)를 조회합니다. 제 개인 도메인[foxydog.co.kr]으로 테스트해보겠습니다.

    C:\admin> nslookup -type=mx foxydog.co.kr

    결과 값 : mail exchanger = mail.foxydog.co.kr

    으로 수신받는 메일서버가 나옵니다. 제가 네임서버에 세팅한 값 그대로 나오는 것이 확인됩니다.

     

    ③ mail exchanger 나온 값으로 텔넷 연결 테스트를 합니다.

    C:\admin> telnet mail.foxydog.co.kr 25

    220 mail.foxydog.co.kr ESMTP Postfix (220 정상 응답 후)

    ehlo localhost (입력)

    250-SIZE 1048576 (부분을 확인)

     

    ※ 무조건 확인할 수 있는 방법은 아닙니다. 보안상 Telnet 연결을 차단할 수 있으며, 접속되더라도 연결 세션을 짧게 하거나 EHLO를 하더라도 값이 노출되지 않도록 설정할 수도 있습니다.

     

     

    □ 메일 메시지 크기를 정하고 사용하는 이유

    결론적으로 메일 서버에 부하를 줄 수 있기 때문입니다. 단순 하나의 메일을 주고받을 경우는 문제가 되지 않지만 특히 대량으로 수발신 하는 경우에 문제가 발생합니다. 메일 하나 헤더 정보에 들어가는 값은 글만 있을 경우는 (KB) 단위로밖에 나오지 않습니다만, 본문 내에 HTML 이미지나 파일이 첨부가 될 경우는 (MB) 단위로 급격하게 늘어납니다. 예시를 들어볼까요? 발송자 한 사람이 1000명한테 동보 메일을 발송한다고 가정합니다.

    ▷ 메일 메시지 크기가 100KB 경우

    메일 크기(100KB) x 1000명 = 100,000(KB) = 약 100(MB)

     

    ▷ 메일 메시지 크기가 5MB 경우

    메일 크기(5M) x 1000명 = 5,000(MB) = 약 5(GB)

     

    ▷ 메일 메시지 크기가 20MB 경우

    메일 크기(20MB) x 1000명 = 20,000(MB) = 약 20(GB)

    보이시나요? 용량 기복의 차이가, 메일 크기가 크고 수신자가 많아질수록 메일서버에서 20GB만큼의 트래픽이 발생하게 되며 이것을 순차적으로 처리를 하게 된다면 메일 처리가 밀려서 수발신이 지연이 되는 문제가 발생합니다. 포탈의 경우만 해도 전세계가 이용하는 만큼 그 한도가 작은걸 확인할 수 있습니다. 구글(25MB), 다음(25MB), 네이버(10MB)등 대체로 5MB~25MB 상한으로 두고 있습니다. 발송하는 서버는 그만큼 허용을 하더라도 수신측에서 받아들이지 않는다면 또한 의미가 없습니다.

     

     

     

    □ 일반첨부를 하면 메일 메시지 크기가 [20%~30%] 늘어난다?

    이게 어떤 뜻이냐면 보낸 메일 메시지 크기는 [15MB]인데 수신받은 사용자는 [20MB]되어 있다는 뜻입니다.

    ※ 수신 메일서버 로그에서도 동일한 용량으로 확인

    May 31 19:45:17 mail postfix/qmgr[42717]: 32A5420218B9: from : <foxydog@foxydog.co.kr>

    size=21526846(약 20.5MB), nrcpt=1 (queue active)

    용량이 늘어나는 이유는 메일을 처리하는 방식 차이 때문에 발생을 합니다. 우리가 보는 화면은 직접 사용자의 메일 규격 인터페이스에 맞게 HTML형식으로 자동으로 변환하여 보입니다. 하지만 실제 메일이 서버에서 전달 처리하는 경우는 시스템 언어로 변환을 하는데요, 특히 이미지나 일반 첨부의 경우는 텍스트(TEXT)처럼 문자로 바로 표현하는 게 아닌 Encoding : Base64 과정을 거치게 됩니다. 그러면 엄청난 게 긴 문자열로 나열이 되고 메시지의 길이도 같이 늘어나기 때문에 메일의 용량이 더욱 커지게 됩니다.

     

    마치며

    이와 같이 일반 첨부가 큰 용량은 메일서버에 부담을 줄 수 있기 때문에 대부분이 제한을 두고 사용합니다. 만약 대량 메일을 발송할일이 있다면, 하드웨어 스팩이 좋거나 대량메일 서비스 솔루션을 따로 이용하거나 구분하여 발송할 수 있는 시스템이 구축되어 있는 게 좋습니다. 참고하시기 바랍니다.

    Designed by JB FACTORY