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

정방향 조회 테이블 및 FORWARD 주소 매핑

주소 역방향은 봉투의 To: 주소에 적용되지 않습니다. 이는 메일이 메일 시스템을 통과할 때 봉투의 To: 주소가 계속해서 재작성 및 수정된다는 확실한 이유가 있기 때문입니다. 라우팅의 전체 목표는 봉투의 To: 주소를 점차적으로 시스템 및 메일함 특정 형식으로 변환하는 것입니다. 주소 역방향의 정형화 기능은 전반적으로 봉투의 To: 주소에 적용되지

어떠한 경우든 MTA에서 풍부한 기능을 사용하여 봉투의 To: 주소에 적용되지 별칭 파일, 별칭 데이터베이스 및 일반 조회 테이블이 바로 이 기능을 정확하게 제공합니다.

MTA에서는 또한 패턴 기반 전달, 소스 고유 전달 또는 주소 자동 등록과 같은 특수한 전달 목적에 사용되는 정방향 조회 테이블과 FORWARD 매핑을 사용할 수 있습니다. 정방향 조회 테이블과 FORWARD 매핑은 주로 특수한 종류의 주소 전달에 사용하도록 되어 있다는 점을 유의하십시오. 즉, 대부분의 주소 전달은 MTA의 다른 전달 기법 중 하나를 사용할 때 더 효율적으로 수행됩니다.

봉투의 To: 주소에 대한 다양한 대체 기법은 역방향 조회 테이블과 동일한 기능을 제공하지만 역방향 매핑과 동일한 기능에 대해서는 아직 언급된 것이 없습니다. 경우에 따라서는 봉투의 To: 주소에 대한 매핑 기능이 유용하고 바람직할 수 있습니다.

FORWARD 매핑 테이블

FORWARD 매핑 테이블은 패턴을 기반으로 하는 전달 기능을 제공하며 소스 고유 전달을 위한 기법도 제공합니다. FORWARD 매핑 테이블이 매핑 파일에 있으면 각 봉투의 To: 지시합니다. 이 매핑이 존재하지 않거나 매핑의 항목이 일치하지 않을 경우 변경이 수행되지 않습니다.

주소가 매핑 항목과 일치할 경우 매핑 결과가 테스트됩니다. 항목에 $Y가 지정될 경우 결과 문자열이 봉투의 To: 주소를 대체하며 $N이 지정될 경우 매핑 결과를 무시합니다. 추가 플래그 목록은 표 10–8을 참조하십시오.

표 10–8 FORWARD 매핑 테이블 플래그 설명

플래그 

설명 

$D 

다시 쓰기 프로세스를 통해 출력을 다시 실행합니다. 

$G 

정?항 조회 테이블을 통해 출력을 실행합니다(정방향 조회 테이블이 사용 가능하게 된 경우). 

$H 

추가 정방향 조회 테이블이나 FORWARD 매핑 조회를 사용 불가능하게 합니다. 

$I 

메일을 .HELD 파일로 보관합니다.

$N 

주소가 변경되지 않고 그대로 유지됩니다. 

$Y 

출력을 새 주소로 사용합니다. 

FORWARD 매핑(있을 경우)은 정방향 조회 테이블이 조회되기 전에 참조됩니다. FORWARD 매핑이 일치하고 플래그 $G가 있을 경우 정방향 조회 테이블에 대해 FORWARD 매핑의 결과가 검사됩니다(USE_FORWARD_DATABASE의 적절한 설정을 통해 정방향 조회 테이블이 사용 가능하게 된 경우). 채널 고유 정방향 조회 테이블 사용이 지정된 경우 정방향 조회 테이블에서 조회하기 전에 FORWARD 매핑의 결과에 소스 주소와 소스 채널이 접두어로 추가된다는 점을 유의하십시오. 일치하는 FORWARD 매핑 항목에 $D가 지정된 경우 FORWARD 매핑의 결과와 선택적 정방향 테이블 조회가 MTA 주소 다시 쓰기 프로세스를 통해 다시 실행됩니다. 일치하는 FORWARD 매핑 항목에 $H가 지정된 경우 $D 사용으로 인해 발생하는 후속 주소 다시 쓰기 프로세스 동안에 추가 FORWARD 매핑이나 데이터베이스 조회가 수행되지 않습니다.

아래 예는 복잡한 REVERSEFORWARD 매핑의 사용을 보여 줍니다. 여기에서는 mr_local 채널과 연관된 am.sigurd.innosoft.com이라는 시스템 또는 의사 도메인이 일반적인 형식의 RFC 822 주소를 생성한다고 가정합니다.

"lastname, firstname"@am.sigurd.example.com

또는

"lastname,firstname"@am.sigurd.example.com

이러한 주소는 완전히 유효하지만 RFC 822 구문 규칙을 완벽하게 따르지 않는 전자 메일 프로그램(예: 인용된 주소를 제대로 처리하지 않은 전자 메일 프로그램)에서는 흔히 혼동을 일으킵니다. 결과적으로 인용이 필요하지 않는 주속 형식이 더 많은 전자 메일 프로그램에서 작동합니다. 이러한 형식 중 하나는 다음과 같습니다.

firstname.lastname@am.sigurd.example.com

복잡한 FORWARD 및 REVERSE 매핑 예

REVERSE

 *|mr_local|"*,$ *"@am.sigurd.example.com $Y"$1,$ $2"@am.sigurd.example.com
 *|mr_local|"*,*"@am.sigurd.example.com   $Y"$1,$ $2"@am.sigurd.example.com
 *|*|"*,$ *"@am.sigurd.example.com        $Y$3.$2@am.sigurd.example.com
 *|*|"*,*"@am.sigurd.example.com          $Y$3.$2@am.sigurd.example.com
 *|mr_local|*.*@am.sigurd.example.com     $Y"$2,$ $1"@am.sigurd.example.com
 *|*|*.*@am.sigurd.example.com            $Y$2.$3@am.sigurd.example.com

FORWARD

 "*,$ *"@am.sigurd.example.com            $Y"$0,$ $1"@am.sigurd.example.com
 "*,*"@am.sigurd.example.com              $Y"$0,$ $1"@am.sigurd.example.com
 *.*@am.sigurd.example.com                $Y"$1,$ $0"@am.sigurd.example.com

따라서 위 예에 나온 샘플 매핑 테이블은 (1) 이러한 세 개의 주소 형식을 모두 사용할 수 있도록 허용하고, (2) 원래 형식의 주소만 mr_local 채널에 제공하고 필요에 따라 형식을 변환하며, (3) 인용되지 않은 새 형식의 주소만 다른 모든 채널에 제공하고 필요에 따라 형식을 변환하는 세 가지 목적을 가집니다. (위의 REVERSE 매핑에서는 MTA 옵션 USE_REVERSE_DATABASE에 비트 3이 설정된 것으로 가정합니다.)

정방향 조회 테이블

주소 전달이 자동 등록되거나 소스별로 고유해야 할 경우 정방향 조회 테이블을 사용할 수 있습니다. 간단한 메일 전달에는 일반적으로 정방향 조회 테이블을 사용하는 것이 적합하지 않으며 aliases 파일 또는 별칭 조회 테이블이 이러한 전달을 수행하는 데 더 효율적인 방법이라는 점을 유의하십시오. 기본적으로 정방향 조회 테이블은 전혀 사용되지 않으므로 USE_FORWARD_DATABASE 옵션을 통해 명시적으로 사용 가능하게 해야 합니다. 정방향 테이블 조회는 주소 다시 쓰기 이후, 별칭 확장이 수행된 후, 그리고 임의의 FORWARD 매핑이 검사된 후에 수행됩니다. 정방향 테이블 조회에 성공할 경우 MTA 주소 다시 쓰기 프로세스를 통해 대체된 결과 주소가 다시 실행됩니다.

정방향 조회 테이블에는 메모리 내장 해시 테이블과 기본 데이터베이스의 두 가지 기법을 사용할 수 있습니다. 테이블의 크기가 너무 크지 않을 경우 해시 테이블이 권장됩니다(1,000은 너무 큰 것이 아니지만 100,000은 너무 크다고 할 수 있습니다). 해시 테이블은 use_text_database 옵션에서 비트 3(값 34)을 설정하고 use_forward_database를 설정하여 활성화합니다. 해시 테이블은 msg_svr_base/configure/forward.txt에서 읽어오고 구성의 재로드 가능 부분으로 컴파일되며 imsimta reload 명령에 의해 강제로 활성 MTA 프로세스로 재로드될 수 있습니다.

정방향 데이터베이스는 소스 텍스트 파일에서 crdb 유틸리티를 사용하여 만든 MTA crdb 데이터베이스입니다. 소스 텍스트 파일의 형식은 기본적으로 다음과 같습니다.


user1@domain1 changedmailbox1@changeddomain1
user2@domain2 changedmailbox@changeddomain2

그러나 USE_FORWARD_DATABASE 옵션의 비트 3을 설정하여 정방향 데이터베이스의 소스별 사용을 가능하게 한 경우 소스 텍스트 파일 형식은 다음과 같습니다.

source-channel|source-address|original-address changed-address

예를 들어, 다음과 같은 항목은


tcp_limited|bob@blue.com|helen@red.com  “helen of troy”@siroe.com

bob@blue.com에서 메일이 오고 대기열을 넣는 채널이 tcp_limited인 경우에만 To: 주소 helen@red.com을 “helen of troy”@siroe.com에 매핑합니다.