Sun Java System Messaging Server 6 2005Q4 관리 설명서

구현된 LMTP 프로토콜

이 절에서는 샘플 LMTP 대화 상자를 제공하여 해당 대화 상자에 표시되는 내용을 설명합니다. 중계 시스템의 LMTP 클라이언트는 표준 LMTP 프로토콜을 사용하여 백엔드 저장소의 MLTP 서버와 대화합니다. 프로토콜은 특정 방법으로 사용됩니다. 예를 들면 다음과 같습니다.


---> LHLO
<--- 250 OK

LHLO 메일에 대한 작업이 수행되지 않습니다. 회신은 항상 250 OK입니다.


---> MAIL FROM: address size=messageSizeInBytes
<--- 250 OK

메일 발송자 주소를 검사하거나 변환하지 않습니다. size= 매개 변수는 전달할 메일의 크기(바이트)를 지정합니다. 이 값은 프로토콜에 표시되는 메일의 정확한 크기입니다. 정확한 메일 크기가 꼭 필요한 것은 아니지만 대개 실제 메일 크기는 이 크기를 초과하지 않습니다. LMTP 서버는 메일을 받도록 메모리에 이 크기의 버퍼를 할당합니다.


---> RCPT TO: uid+folder@domain xquota=size,number xdflg=xxx
<--- 250 OK

받을 때는 수신자 주소를 확인하지 않지만 나중에 사용할 수 있도록 수신자 목록이 작성됩니다. 주소의 @domain 부분은 주 도메인의 uids에서는 생략되고 +folder 부분은 선택 사항입니다. 이 형식은 MTA의 메일 저장소 채널에 사용되는 것과 동일한 주소 형식입니다.

xquota= 매개 변수는 최대 총 크기와 최대 메일 수로 구성되는 사용자의 메일 할당량을 지정합니다. MTA는 사용자에 대한 LDAP 조회를 통해 주소 변환을 수행하는 동안 검색되는 이 메일 할당량 정보를 제공합니다. 이 정보는 메일 저장소의 할당량 정보를 디렉토리와 동기화된 상태로 유지하는 데 사용됩니다. 할당량 정보를 가져오는 것은 성능에 영향을 미치지 않습니다.

xdflg= 매개 변수는 비트 필드로 해석되는 숫자를 지정합니다. 이러한 비트 수는 메일이 전달되는 방법을 제어합니다. 예를 들어, 비트 값을 2로 설정하면 사용자에 대해 할당량이 초과하더라도 메일이 전달됩니다. (xdflg는 내부 매개 변수이며 포함된 비트가 예고 없이 변경되거나 추가될 수 있다는 것에 주의합니다. Sun 서버에서 이 확장을 사용하는 다른 클라이언트나 일부 다른 서버에서 이 매개 변수를 사용하는 Sun 클라이언트나 모두 지원되지 않습니다.)

이 상호 작용은 수신자마다 한 번씩 여러 번 반복될 수 있습니다.


--->DATA
---> <the message text>
--->.

그런 다음 LMTP 클라이언트가 SMTP에서처럼 전체 메일을 점으로 표시하여 보냅니다. 메일은 한 행에 점(.) 하나로 끝납니다. 메일 크기가 초과될 경우 LMTP 서버는 다음을 보냅니다.

<--- 500 message too big

그런 다음 연결을 종료합니다.

메일이 올바르게 전달되면 LMTP 서버는 RCPT TO: 행에 지정된 각 수신자에 대한 상태를 LMTP 클라이언트에게 다시 보냅니다. 예를 들어, 메일이 성공적으로 전달될 경우 다음과 같은 응답을 받습니다.

<--- 250 2.5.0 address OK

여기서 addressRCPT TO: 행에 표시된 주소입니다.

변환은 다른 MAIL FROM: 행에서 반복되거나 다음 상호 작용으로 종료될 수 있습니다.


---> quit
<--- 221 OK

표 15–1에서는 각 수신자에 대한 가능한 상태 코드를 나타냅니다. 이 3열 테이블의 첫 번째 열에는 짧은 코드가 표시되고, 두 번째 열에는 긴 코드가 표시되며, 세 번째 열에는 상태 텍스트가 표시됩니다. 2.x.x 상태 코드는 성공 코드이고, 4.x.x 코드는 재시도 가능한 오류이고, 5.x.x 코드는 재시도할 수 없는 오류입니다.

표 15–1 수신자에 대한 LMTP 상태 코드

짧은 코드 

긴 코드 

상태 텍스트 

250 

2.5.0 

확인 

420 

4.2.0 

메일함 잠김 

422 

4.2.2 

할당량 초과 

420 

4.2.0 

잘못된 메일함 형식 

420 

4.2.0 

메일함 지원 안 함 

430 

4.3.0 

IMAP IOERROR 

522 

5.2.2 

지속적인 할당량 초과 

523 

5.2.3 

길이가 너무 긴 메일 

511 

5.1.1 

메일함 없음 

560 

5.6.0 

메일에 null 포함 

560 

5.6.0 

메일에 nl 포함 

560 

5.6.0 

메일에 잘못된 헤더 있음 

560 

5.6.0 

메일에 빈 행 없음 

그렇지 않으면 메일함, 원시(UNIX) 및 파일에 대한 전달 옵션이 변경된 것입니다. 이러한 규칙의 목적은 메일이 해당 LMTP 채널을 통해 백엔드 서버에 전달되도록 주소를 생성하는 것입니다. 생성된 주소는 라우팅된 원본 주소이며 그 형식은 다음과 같습니다.


@sourceroute:localpart@domain