본문 바로가기
[AWS-FRF]/EC2

com.sun.mail.smtp.SMTPSendFailedException: 552 5.3.4 Error: message file too big 해결 방법!!

by METAVERSE STORY 2025. 11. 4.
반응형

 

 

com.sun.mail.smtp.SMTPSendFailedException: 552 5.3.4 Error: message file too big


은 SMTP 서버에서 메일 본문(첨부파일 포함)의 크기가 허용 한도를 초과했을 때 발생하는 전형적인 오류입니다.
즉, 메일 서버가 허용하는 최대 메시지 크기보다 큰 파일을 첨부해서 전송하려고 할 때 발생합니다.

🧩 원인 분석
SMTP 상태 코드 552 5.3.4
→ “Message size exceeds fixed maximum message size”
→ 서버가 허용하는 메시지 크기 한도를 넘었음을 의미합니다.

이 오류는 다음과 같은 경우에 발생합니다:

첨부파일 크기가 크다 (보통 10MB~25MB 제한)

메일 본문 + Base64 인코딩된 첨부파일 전체가 제한을 초과함
(예: 10MB 파일을 첨부해도 실제 전송 크기는 약 13~14MB가 됨)

서버 측 정책 (Gmail, Exchange, Naver, Daum 등 SMTP 서버 설정)으로 인한 제한

🔧 해결 방법
✅ 1. 첨부파일 크기를 줄이기
파일을 압축(zip, 7z 등)하거나, 일부 분할 압축

이미지라면 해상도/품질을 낮추기

PDF는 “파일 → 크기 줄이기” 기능 활용

✅ 2. SMTP 서버 설정 변경 (관리자용)
만약 직접 운영 중인 SMTP 서버(Postfix, Sendmail, Exchange 등) 이라면,
서버에서 허용 메시지 크기를 늘릴 수 있습니다.

▶ Postfix 예시
bash
코드 복사
# main.cf 설정 파일 열기
sudo vi /etc/postfix/main.cf

# 허용 크기 상향 (예: 50MB)
message_size_limit = 52428800
적용 후 Postfix 재시작:

bash
코드 복사
sudo systemctl restart postfix
▶ Sendmail 예시
/etc/mail/sendmail.cf 또는 sendmail.mc 파일 수정:

pgsql
코드 복사
define(`confMAX_MESSAGE_SIZE', `52428800')dnl
수정 후 재컴파일:

bash
코드 복사
m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
systemctl restart sendmail
✅ 3. Gmail, Naver, Daum 등 외부 SMTP 사용 시
Gmail: 첨부파일 최대 25MB

Naver/Daum: 보통 10MB~20MB

Outlook/Exchange Online: 기본 25MB

이 경우 서버 설정을 변경할 수 없으므로,

Google Drive, Naver MyBox, Dropbox 등 파일 링크로 공유

또는 파일을 여러 메일로 분할 전송

✅ 4. JavaMail 전송 시 점검 포인트
JavaMail API로 메일 전송 중이라면,
Base64 인코딩 후 실제 전송 크기가 더 커지기 때문에
첨부 전 크기 체크 로직을 추가하는 것이 좋습니다.

예:

java
코드 복사
File file = new File("attachment.zip");
long sizeInBytes = file.length();
long sizeLimit = 20 * 1024 * 1024; // 20MB 제한
if (sizeInBytes > sizeLimit) {
    throw new IllegalArgumentException("첨부파일이 너무 큽니다: " + sizeInBytes + " bytes");
}
또는 SMTP 서버 설정을 코드 내에서 지정할 수도 있습니다:

java
코드 복사
props.put("mail.smtp.size.limit", "52428800");
(단, 이 설정은 클라이언트측 한도이므로 서버 한도를 초과하면 여전히 552 오류 발생)

🧭 요약
원인 해결 방법
첨부파일이 너무 큼 압축, 분할, 링크 전송
SMTP 서버 자체 제한 서버 설정 변경 (Postfix/Sendmail 등)
외부 SMTP (Gmail 등) 클라우드 링크 사용
JavaMail 코드 측 크기 관리 필요 첨부 크기 검사 추가

 

 

 

반응형

댓글