1. 개요

 SMTP 엔진을 제작 중에 코드 수집을 하던 과정에서 사람마다 약간씩 달라 나름대로 취합해본다.

 아래 코드들은 Java-Spring MessageAcessor Source에서 사용 가능하며, 정확한 코드는 아니며, 어디까지나 개발을 위한 코드임을 알아두자.

 또한, SMTP 엔진마다 상세코드들이 차이가 나기 때문에 때에 따라 갱신은 필수사항이다.

 

2. 코드

 1) 한국어

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
	<comment>messages-smtp_ko</comment>

	<!--2yz Positive completion-->
	<entry key="smtp.211">시스템 상태 또는 시스템 도움말 응답</entry>
	<entry key="smtp.214">도움말 메시지 (HELP 명령에 대한 응답)</entry>
	<!--{0} Domain-->
	<entry key="smtp.220">&lt;{0}&gt; 서비스 준비</entry>
	<!--{0} Domain-->
	<entry key="smtp.221">&lt;{0}&gt; 서비스 폐쇄 전송 채널</entry>
	<entry key="smtp.221 2.0.0">GoodBye</entry>
	<entry key="smtp.235 2.7.0">인증 성공</entry>
	<entry key="smtp.240">종료</entry>
	<entry key="smtp.250">요청된 메일 작업 OK, 완료됨</entry>
	<entry key="smtp.251">사용자가 로컬이 아닙니다. 전달합니다.</entry>
	<entry key="smtp.252">사용자를 확인할 수 없지만 어쨌든 메시지 전달을 시도합니다.</entry>

	<!--3yz Positive intermediate-->
	<entry key="smtp.334">(서버 챌린지 - 텍스트 부분에 Base64로 인코딩된 챌린지가 포함됨)</entry>
	<entry key="smtp.354">메일 입력 시작; 종료는 &lt;CRLF&gt;.&lt;CRLF&gt;으로 끝나야 합니다.</entry>

	<!--4yz Transient negative completion-->
	<entry key="smtp.421">서비스를 사용할 수 없음, 전송 채널을 닫음 (서비스가 종료되어야 함을 알고 있는 경우 명령에 대한 응답일 수 있음)</entry>
	<entry key="smtp.421-Ms">수신 측 서버인 Microsoft ESMTP 서비스가 정상적으로 동작하지 않아 메일을 송신하지 못하는 오류입니다. 시 후 다시 시도해 보거나 오류가 계속 될 경우 수신 측 관리자에게 문의 하시기 바랍니다.</entry>
	<!--{0} : EMAIL-->
	<entry key="smtp.421 4.3.1">송신 측의 아이피 주소 &lt;{0}&gt; 또는 메일주소가 잘못 되어 송신이 제한된 오류입니다. 안내된 이메일주소로 문의 메일을 보내시기 바랍니다.</entry>
	<entry key="smtp.421 4.3.2">421 4.3.2 Your IP(xxx.xxx.xxx.xxx) 송신 측의 아이피 주소가 네이버닷컴에 스팸 메일러로 등돌이 되어 송신이 제한된 오류입니다. 네이버 닷컴의 스팸 정책을 참고하시기 바랍니다.</entry>

	<entry key="smtp.432 4.7.12">비밀번호 전환이 필요합니다</entry>

	<entry key="smtp.441 4.4.1">수신 측의 메일서버로부터 응답을 받지 못해 연결이 실패된 오류입니다. 잠시 후 다시 시도해 보거나 오류가 계속 될 경우 수신 측 관리자에게 문의 하시기 바랍니다.</entry>
	<entry key="smtp.441 4.4.1-hanmail">한메일닷넷의 메일서버로 연결하던 도중 한메일의 스팸정책에 위배되어 발생한 오류입니다. 다음의 연락처로 연락해 보시기 바랍니다. 1544-0580 내선번호 2</entry>

	<entry key="smtp.450">요청된 메일 작업이 수행되지 않음: 사서함을 사용할 수 없음 (예: 사서함이 사용 중이거나 정책상의 이유로 일시적으로 차단됨) \n Recipient address rejected: Greylisted for 300 seconds (see http://isg.ee.ethz.ch/tools/postgrey/help)</entry>

	<entry key="smtp.451">요청된 작업이 중단되었습니다: 처리 중 로컬 오류 \n Relay Server Not Ready</entry>
	<entry key="smtp.451 4.3.0">수신 측 메일 시스템의 프로토콜이 틀리거나 연결된 서버가 SMTP 서버가 아닐경우 발생하는 오류입니다. \n 수신 측 서버의 일시적인 장애로 인하여 메일을 수신하지 못하는 오류입니다.</entry>

	<entry key="smtp.451 4.4.0">DNS resolving error</entry>
	<entry key="smtp.451 4.4.1">IMAP 서버를 사용할 수 없음</entry>
	<entry key="smtp.451 4.4.2">수신 측 서버의 응답시간 초과로 인하여 연결이 끊어져 발생한 오류입니다. 잠시 후 다시 시도해 보거나 오류가 계속 될 경우 수신 측 관리자에게 문의 하시기 바랍니다.</entry>

	<entry key="smtp.452">요청된 작업이 수행되지 않음: 시스템 스토리지가 부족합니다. \n sorry, your recipient address is not in my local list</entry>

	<entry key="smtp.452 4.4.5">수신 측 메일서버의 저장공간 또는 사용자의 저장공간 부족으로 인하여 발생한 오류입니다. 수신 측 관리자에게 문의 하시기 바랍니다.</entry>

	<entry key="smtp.454 4.7.0">일시적인 인증 실패</entry>
	<entry key="smtp.455">서버가 매개변수를 수용할 수 없습니다.</entry>

	<!--5yz Permanent negative completion-->
	<entry key="smtp.5XX">송신 측의 메일서버의 도메인 또는 IP 주소 또는 송신자의 메일주소가 수신 측의 메일서버에 스패머로 등록되어 발생한 오류입니다. 수신 측 관리자에게 문의 하여 스팸 리스트에서 삭제하시기 바랍니다.</entry>
	<entry key="smtp.500">구문 오류, 명령을 인식할 수 없음(명령줄이 너무 긴 등의 오류가 포함될 수 있음)</entry>
	<entry key="smtp.500 5.5.6">인증 교환 줄이 너무 깁니다 </entry>

	<entry key="smtp.501">매개변수 또는 인수의 구문 오류</entry>
	<!--{0} : Domain-->
	<entry key="smtp.501 5.1.8">수신 측 &lt;{0}&gt; 도메인이 존재하지 않아 발생한 오류입니다. 수신자 메일수조 중 도메인 부분이 정확하게 적혀있는 지 확인하시기 바랍니다. 주소가 정확한 경우 수신 측 관리자에게 문의하여 실제 도메인이 해당 메일서버에 등록되어 있는지 확인하시기 바랍니다.</entry>
	<entry key="smtp.501 5.5.2">클라이언트 응답을 Base64로 디코딩할 수 없음</entry>
	<entry key="smtp.501 5.7.0">클라이언트가 인증 교환을 시작 함(SASL 메커니즘이 클라이언트가 인증 교환을 시작하지 않도록 지정된 경우에만)</entry>

	<entry key="smtp.502">명령이 구현되지 않았습니다.</entry>
	<entry key="smtp.503">SMTP 명령어 중 일부 누락 또는 일부 잘못된 명령어로 인하여 발생한 오류입니다.</entry>
	<entry key="smtp.504">명령 매개변수가 구현되지 않았거나 송신 측의 메일서버의 도메인 또는 IP 주소 또는 송신자의 메일주소가 수신 측의 메일서버에 스패머로 등록되어 발생한 오류입니다. 수신 측 관리자에게 문의 하여 스팸 리스트에서 삭제하시기 바랍니다.</entry>
	<entry key="smtp.504 5.5.4">인식할 수 없는 인증 유형</entry>
	<entry key="smtp.511">수신자의 메일주소가 수신 측의 메일서버에 존재하지 않는 계정인 경우 발생하는 오류입니다. 수신자의 메일 주소가 정확한지 확인해 보시기 바랍니다. 또한 수신자의 계정이 실제 존재하는지 사용가능한 상태인지 수신 측 관리자에게 문의하시기 바랍니다.</entry>
	<entry key="smtp.521">서버가 메일을 수락하지 않습니다 </entry>
	<entry key="smtp.523">암호화 필요</entry>
	<entry key="smtp.530 5.7.0">인증 필요</entry>
	<entry key="smtp.534 5.7.9">인증 메커니즘이 너무 약함</entry>
	<entry key="smtp.535 5.7.8">인증 자격 증명이 유효하지 않음</entry>
	<entry key="smtp.538 5.7.11">요청된 인증 메커니즘에 필요한 암호화</entry>

	<entry key="smtp.550">수신자의 메일주소가 실제 존재하지 않는 계정이거나 사용 중지된 계정상태로 인하여 발생한 오류입니다. 수신자의 메일 주소가 정확한지 확인해 보시기 바랍니다. 또한 수신자의 계정이 실제 존재하는지 사용가능한 상태인지 수신 측 관리자에게 문의하시기 바랍니다.</entry>
	<entry key="smtp.550 5.0.0">접근권한이 없거나 송신한 메일 메시지 않에 Klez worm 바이러스가 포함되어 수신 측 메일서버에서 거부된 오류입니다. 클라이언트 및 서버의 상태를 점검해 보시기 바랍니다. 또한 첨부 파일이 있을 경우 첨부 파일에 바이러스가 포함되지 않았는지 확인해 보신 후 재 전송하시기 바랍니다.</entry>
	<entry key="smtp.550 5.5.0">송신한 메일 메시지 안에 바이러스가 포함되어 수신 측에서 거부된 오류입니다. 클라이언트 및 서버의 상태를 점검해 보시기 바랍니다. 또한 첨부 파일이 있을 경우 첨부 파일에 바이러스가 포함되지 않았는지 확인해 보신 후 재 전송하시기 바랍니다.</entry>
	<entry key="smtp.550 5.1.1">수신자의 메일주소가 실제 존재하지 않는 계정이거나 사용 중지된 계정상태로 인하여 발생한 오류입니다. 수신자의 메일 주소가 정확한지 확인해 보시기 바랍니다. 또한 수신자의 계정이 실제 존재하는지 사용가능한 상태인지 수신 측 관리자에게 문의하시기 바랍니다.</entry>
	<entry key="smtp.550 5.7.1">송신자의 메일주소가 DNS IP Name Lookup 에 실패하여 릴레이가 거부된 오류입니다. 송신 측 DNS 서버의 정방향 조회 영역에 송신 측 메일서버 IP Address 와 일치하는 메일교환기(MX) 레코드 값이 정확하게 설정되어 있는지 확인해보시기 바랍니다. 또한, 송신 측 DNS 서버의 역방향 조회 영역에 송신 측 메일서버 IP Address에 대하여 포인터가 올바르게 구성되어 있는지 확인해 보시기 바랍니다.</entry>

	<entry key="smtp.551">사용자가 로컬이 아닙니다. &lt;forward-path&gt;를 시도하십시오</entry>
	<entry key="smtp.552">요청된 메일 작업이 중단되었습니다: 저장소 할당을 초과했습니다.</entry>
	<entry key="smtp.553">요청된 작업이 수행되지 않음: 사서함 이름이 허용되지 않습니다. \n sorry, that domain isn't in my list of allowed rcpt hosts \n Too many recipients \n sorry, your envelope sender is in my badmailfrom list. \n sorry, your envelope sender is enlisted as spammer</entry>
	<entry key="smtp.553 5.0.0">송신한 메일 메시지 안에 Win32.Klez worm 바이러스가 포함되어 수신 측 메일서버에서 거부된 오류입니다. 클라이언트 및 서버의 상태를 점검해 보시기 바랍니다. 또한 첨부 파일이 있을 경우 첨부 파일에 바이러스가 포함되지 않았는지 확인해 보신 후 재 전송하시기 바랍니다.</entry>
	<entry key="smtp.553 5.5.3">&lt;E-Mail Address&gt;... Invalid</entry>
	<entry key="smtp.553 5.5.4">송신 측의 메일주소가 ID@Domain_Name 형식이 아닌 잘못된 형식으로 송신을 시도하여 발생한 오류 입니다. 송신자의 메일주소가 올바른지 확인해 보시기 바랍니다. 또는 수신 측의 메일서버에서 송신 도메인 xxx.com 에 대하여 DNS Lookup 한 결과 송신된 IP 주소인 xxx.xxx.xxx.xxx 와 일치 하지 않아 송신이 거부된 오류 입니다. 송신 측 도메인에 대한 호스트(A) 레코드 생성 후 이를 송신 측 메일서버의 아이피 주소와 일치시켜 주시기 바랍니다.</entry>

	<entry key="smtp.554">트랜잭션 실패 (또는 연결 열기 응답의 경우 "여기에 SMTP 서비스 없음")</entry>
	<entry key="smtp.554 5.1.0">송신 측의 메일주소가 거부되어 발생한 오류입니다. 수신 측 관리자에게 문의 하시기 바랍니다.</entry>
	<entry key="smtp.554 5.3.0">수신 측 메일서버에서 허용한 동시 수신 메일 수를 초과하여 발생한 오류입니다. 수신 측 메일서버에서 허용한 수 이하로 메일을 송신해 보시기 바랍니다.</entry>
	<entry key="smtp.554 5.3.4">시스템에 비해 메시지가 너무 큼</entry>
	<entry key="smtp.554 5.5.0">네이트 닷컴의 스팸 정책에 위배되어 메일을 송신하지 못한 오류입니다. 네이트 닷컴의 스팸 정책을 확인해 보시기 바랍니다. http://antispam.nate.com/554-550.html [Reject Option]</entry>

	<entry key="smtp.556">도메인이 메일을 수락하지 않습니다.</entry>

	<entry key="smtp.557">송신자의 메일이 바이러스로 인식되어 수신 측에서 거부된 오류입니다. 클라이언트 및 서버의 상태를 점검해 보시기 바랍니다. 또한 첨부 파일이 있을 경우 첨부 파일에 바이러스가 포함되지 않았는지 확인해 보신 후 재 전송하시기 바랍니다.</entry>
</properties>

 

 2) 영어

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
	<comment>messages-smtp_en</comment>


	<!--2yz Positive completion-->
	<entry key="smtp.211">System status, or system help reply</entry>
	<entry key="smtp.214">Help message (A response to the HELP command)</entry>
	<!--{0} Domain-->
	<entry key="smtp.220">&lt;{0}&gt; Service ready</entry>
	<!--{0} Domain-->
	<entry key="smtp.221">&lt;{0}&gt; Service closing transmission channel</entry>
	<entry key="smtp.221">2.0.0 Goodbye [1]</entry>
	<entry key="smtp.235">2.7.0 Authentication succeeded [3]</entry>
	<entry key="smtp.240">QUIT</entry>
	<entry key="smtp.250">Requested mail action okay, completed</entry>
	<entry key="smtp.251">User not local; will forward</entry>
	<entry key="smtp.252">Cannot verify the user, but it will try to deliver the message anyway</entry>

	<!--3yz Positive intermediate-->
	<entry key="smtp.334">(Server challenge - the text part contains the Base64-encoded challenge) [3]</entry>
	<entry key="smtp.354">Start mail input</entry>

	<!--4yz Transient negative completion-->
	<entry key="smtp.421">Service not available, closing transmission channel (This may be a reply to any command if the service knows it must shut down)</entry>
	<entry key="smtp.421-Microsoft">Microsoft ESMTP MAIL Service, Version: 5.0.2195.5600 ready at Service not available, closing transmission channel</entry>
	<!--{0} : EMAIL-->
	<entry key="smtp.421 4.3.1">ILLEGAL FROM &lt;{0}&gt; Sorry. Your IP has problems. This Connection will be closed. Please mail to mailsysop@hanmir.com (by using another e-mail server). Thank you.</entry>
	<entry key="smtp.421 4.3.2">Your IP(xxx.xxx.xxx.xxx) is filtered and this connection will be closed. You must register your IP to spammaster@hanafos.com By SpaceLee, the Lord of mail server</entry>
	<entry key="smtp.421 4.3.2-Naver">421 4.3.2 Your IP(xxx.xxx.xxx.xxx) is filtered and this connection will be closed. You must register your IP to http://realip.naver.com.</entry>

	<entry key="smtp.432 4.7.12">A password transition is needed [3]</entry>

	<entry key="smtp.441 4.4.1">No answer from host</entry>
	<entry key="smtp.441 4.4.1-hanmail">temporay dns failed &lt;Hanmail.net&gt;</entry>

	<entry key="smtp.450">Requested mail action not taken: mailbox unavailable (e.g., mailbox busy or temporarily blocked for policy reasons) OR Recipient address rejected: Greylisted for 300 seconds (see http://isg.ee.ethz.ch/tools/postgrey/help)</entry>

	<entry key="smtp.451">Requested action aborted: local error in processing OR Relay Server Not Ready</entry>
	<entry key="smtp.451 4.3.0">Other or undefined mail system status OR Temporary system failure. Please try again later</entry>


	<entry key="smtp.451 4.4.0">DNS resolving error</entry>
	<entry key="smtp.451 4.4.1">IMAP server unavailable [4]</entry>
	<entry key="smtp.451 4.4.2">Bad connection (io timeout)</entry>

	<entry key="smtp.452">Requested action not taken: insufficient system storage OR sorry, your recipient address is not in my local list</entry>

	<entry key="smtp.452 4.4.5">Requested mail action aborted: exceeded storage allocation \n Disk write / Insufficient disk space error occurred \n Insufficient disk space; try again later \n Requested mail action aborted: exceeded storage allocation OR MailBox or MessageQuota exceed for &lt;E-mail Address&gt;</entry>

	<entry key="smtp.454 4.7.0">Temporary authentication failure [3]</entry>
	<entry key="smtp.455">Server unable to accommodate parameters</entry>

	<!--5yz Permanent negative completion-->
	<entry key="smtp.5XX">you must be spam \n Your envelope sender is enlisted as spammer</entry>
	<entry key="smtp.500">Syntax error, command unrecognized (This may include errors such as command line too long)</entry>
	<entry key="smtp.500 5.5.6">Authentication Exchange line is too long [3]</entry>

	<entry key="smtp.501">Syntax error in parameters or arguments</entry>
	<!--{0} : Domain-->
	<entry key="smtp.501 5.1.8">Sender domain must exist &lt;{0}&gt;</entry>
	<entry key="smtp.501 5.5.2">Cannot Base64-decode Client responses [3]</entry>
	<entry key="smtp.501 5.7.0">Client initiated Authentication Exchange (only when the SASL mechanism specified that client does not begin the authentication exchange) [3]</entry>

	<entry key="smtp.502">Command not implemented</entry>
	<entry key="smtp.503">Bad sequence of commands</entry>
	<entry key="smtp.504">Command parameter is not implemented \n We do not accept mail from spammers. if you have questions,please Email</entry>
	<entry key="smtp.504 5.5.4">Unrecognized authentication type [3]</entry>
	<entry key="smtp.511">sorry, no mailbox here by that name (#5.1.1 - chkuser)</entry>
	<entry key="smtp.521">Server does not accept mail [5]</entry>
	<entry key="smtp.523">Encryption Needed [6]</entry>
	<entry key="smtp.530 5.7.0">Authentication required [3]</entry>
	<entry key="smtp.534 5.7.9">Authentication mechanism is too weak [3]</entry>
	<entry key="smtp.535 5.7.8">Authentication credentials invalid [3]</entry>
	<entry key="smtp.538 5.7.11">Encryption required for requested authentication mechanism[3]</entry>

	<entry key="smtp.550">Requested action not taken: mailbox unavailable (e.g., mailbox not found, no access, or command rejected for policy reasons) \n User unknown \n No inbox for &lt;E-mail Address&gt; \n Relay rejected for &lt;E-Mail Address&gt; \n relaying to &lt;E-Mail Address&gt; prohibited by administrator \n Denied by policy: Sender is listed on DNS-based RBL \n Mail sender unuses allowed IP. SMTP Proxy Server close</entry>
	<entry key="smtp.550 5.0.0">Access denied \n Your message may contain the Klez.worm! See http://securityresponse.symantec.com/avcenter/venc/data/w32.klez.removal.tool.html</entry>
	<entry key="smtp.550 5.5.0">VIRUS detected from your mail. Cure &amp; Try again. Found by virus scan engine.</entry>
	<entry key="smtp.550 5.1.1">Suspended mailbox \n No such user &lt;E-mail Address&gt;</entry>
	<entry key="smtp.550 5.7.1"> &lt;E-Mail Address&gt;. Relaying denied. IP name lookup failed &lt;IP Address&gt;</entry>

	<entry key="smtp.551">User not local; please try &lt;forward-path&gt;</entry>
	<entry key="smtp.552">Requested mail action aborted: exceeded storage allocation</entry>
	<entry key="smtp.553">Requested action not taken: mailbox name not allowed \n sorry, that domain isn't in my list of allowed rcpt hosts \n Too many recipients \n sorry, your envelope sender is in my badmailfrom list. \n sorry, your envelope sender is enlisted as spammer</entry>
	<entry key="smtp.553 5.0.0">Your message may contain the Win32.Klez worm!!- If you have questions,please email</entry>
	<entry key="smtp.553 5.5.3">&lt;E-Mail Address&gt;... Invalid</entry>
	<entry key="smtp.553 5.5.4">Host name (xxx.com) is not match with your ip(xxx.xxx.xxx.xxx), maybe it's bogus. Visit http://antispam.hanmail.net \n &lt;xxx&gt; ... Domain name required for sender address &lt;xxx&gt;</entry>

	<entry key="smtp.554">Transaction has failed (Or, in the case of a connection-opening response, "No SMTP service here")</entry>
	<entry key="smtp.554 5.1.0">Sender Denied</entry>
	<entry key="smtp.554 5.3.0">Mail have traversed Too many hops. Reject it</entry>
	<entry key="smtp.554 5.3.4">Message too big for system [4]</entry>
	<entry key="smtp.554 5.5.0">Your message was rejected. Please refer to http://antispam.nate.com/554-550.html [Reject Option]</entry>


	<entry key="smtp.556">Domain does not accept mail [5]</entry>

	<entry key="smtp.557">you must be virus</entry>
</properties>

 

3. 참고링크

 1) SMTP - 상세 내용

 

메일 SMTP 오류 코드 정리

[ 출처 : http://sangchul.kr/ ] 400 에러(송신단계의 문제) 1. 421 Server too busy - 수신 측 서버의 일시 장애로 연결이 안되는 현상으로 이는 수신 측 서버의 SMTP 세션이 Full 이거나 수신 측 서...

hieehee.blogspot.com

 2) 위키피디아

 

 

List of SMTP server return codes - Wikipedia

From Wikipedia, the free encyclopedia Jump to navigation Jump to search This is a list of Simple Mail Transfer Protocol (SMTP) response status codes. Status codes are issued by a server in response to a client's request made to the server. Unless otherwise

en.wikipedia.org

 3) RFC

  - https://datatracker.ietf.org/doc/html/rfc2034

 

RFC 2034 - SMTP Service Extension for Returning Enhanced Error Codes

 

datatracker.ietf.org

   - https://www.iana.org/assignments/smtp-enhanced-status-codes/smtp-enhanced-status-codes.xhtml

 

Simple Mail Transfer Protocol (SMTP) Enhanced Status Codes Registry

X.5.1 Invalid command 430, 500, 501, 503, 530, 550, 554, 555 A mail transaction protocol command was issued which was either out of sequence or unsupported. This is useful only as a permanent error. [RFC3463] (Standards Track) G. Vaudreuil IESG

www.iana.org

 

  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기