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

FROM_ACCESS 매핑 테이블

FROM_ACCESS 매핑 테이블은 메일을 보낼 수 있는 사용자를 제어하거나 인증된 주소를 가진 From: 주소를 무시하는 데 사용할 수 있습니다.

FROM_ACCESS 매핑 테이블에 대한 입력 검사 문자열은 MAIL_ACCESS 매핑 테이블에서 대상 채널과 주소를 제외하고 인증된 보낸 사람 정보(사용 가능한 경우)를 추가한 것과 같습니다. 따라서 FROM_ACCESS 매핑 테이블이 있는 경우 Messaging Server는 시도되는 각 메일 전송에 대해 다음 형식의 문자열을 가진 테이블을 검색합니다(세로 막대 문자 | 사용 주의).


port-access-probe-info|app-info|submit-type|src-channel|from-address|auth-from

여기서 받는 SMTP 메일의 경우 port-access-probe-info는 보통 PORT_ACCESS 매핑 테이블 검사에 포함된 모든 정보로 구성되는 반면, 그 외의 경우에는 비어 있는 상태가 됩니다. app-info에는 HELO/EHLO SMTP 명령에서 요구한 시스템 이름이 포함됩니다. 이 이름은 문자열 끝에 표시되며 슬래시(/)로 나머지 문자열(일반적으로 “SMTP”)과 구분합니다. 요구된 시스템 이름은 일부 웜 및 바이러스를 차단하는 데 유용하게 사용될 수 있습니다. submit-type은 MTA로 메일이 전송된 방법에 따라 MAIL, SEND, SAML, SOML 중 하나가 될 수 있습니다. 일반적으로 그 값은 MAIL이며 이는 메일로 전송된다는 의미입니다. 즉, 브로드캐스트 요청(또는 조합된 브로드캐스트/메일 요청)이 SMTP 서버로 전송된 경우 SEND, SAML 또는 SOML이 발생할 수 있습니다. src-channel은 메일을 보낸(메일을 대기열에 넣는) 채널, from-address는 메일을 최초로 보낸 사람의 주소이며 auth-from은 인증된 보낸 사람 주소(이 정보가 사용 가능한 경우)이고 인증된 정보를 사용할 수 없는 경우에는 비어 있습니다.

검사 문자열이 패턴(즉, 테이블 항목의 왼쪽)과 일치하면 매핑의 결과 출력이 검사됩니다. 출력에 플래그 $Y 또는 $y가 포함된 경우 해당 To: 주소에 대한 대기가 허용됩니다. 출력에 플래그 $N, $n, $F 또는 $f가 포함되어 있으면 해당 주소에 대한 대기가 거부됩니다. 거부된 경우 선택적 거부 텍스트가 매핑 출력에 표시될 수 있습니다. 이 문자열은 Messaging Server가 표시하는 거부 오류에 포함될 수 있습니다. 문자열이 출력되지 않으면($N, $n, $F 또는 $f 플래그 제외) 기본 거부 텍스트가 사용됩니다. 추가 플래그에 대한 설명은 액세스 제어 매핑 테이블 플래그를 참조하십시오.

FROM_ACCESS는 메일 발송자를 기준으로 전송 가능한 메일을 허용할지 여부를 결정하는 것 외에도 봉투 From: 주소를 $J 플래그를 통해 변경하거나 authrewrite 채널 키워드(받은 메일의 Sender: 헤더 주소 추가)의 결과를 $K 플래그를 통해 수정하는 데 사용할 수도 있습니다. 예를 들어, 이 매핑 테이블을 사용하여 다음과 같이 원래의 봉투 From: 주소를 인증된 주소로 바꿀 수 있습니다.


예 17–3 FROM_ACCESS 매핑 테이블


FROM_ACCESS

  *|SMTP|*|tcp_auth|*|       $Y
  *|SMTP|*|tcp_auth|*|*      $Y$J$3
            

FROM_ACCESS 매핑 테이블을 사용하여 일부 소스 채널의 0이 아닌 값에 대해 authrewrite를 설정한 결과를 수정할 때 인증된 주소가 글자 그대로 사용되는 경우에는 FROM_ACCESS를 사용하지 않아도 됩니다.

예를 들어, tcp_local 채널에 authrewrite 2를 설정한 경우에는 authrewrite만으로도 이 결과를 얻을 수 있기 때문에(인증된 주소를 그대로 추가) FROM_ACCESS 매핑 테이블이 필요하지 않습니다.


FROM_ACCESS

   *|SMTP|*|tcp_auth|*|     $Y
   *|SMTP|*|tcp_auth|*|*    $Y$K$3
         

하지만 FROM_ACCESS의 실제 용도는 아래 예에 표시된 대로 보다 복잡하고 세밀한 변경을 허용하는 것입니다. Sender: 헤더 행(SMTP AUTH 인증 전송자 주소 표시)을 받는 메일에 추가하려는 경우에는 authrewrite만 사용해도 됩니다. 하지만 SMTP AUTH 인증 전송자 주소가 봉투 From: 주소와 다른 경우에만 Sender: 헤더 행 등을 받는 메일에 추가하는(즉, 주소가 일치하는 경우에는 Sender: 헤더 행) 것으로 가정하고, 또한 봉투 From: 에 선택적 하위 주소 정보가 포함되어 있다는 이유만으로 SMTP AUTH와 봉투 From:을 서로 다른 것으로 간주하지 않는 것으로 가정합니다.


FROM_ACCESS
 
! If no authenticated address is available, do nothing
  *|SMTP|*|tcp_auth|*|              $Y
! If authenticated address matches envelope From:, do nothing
  *|SMTP|*|tcp_auth|*|$2*           $Y
! If authenticated address matches envelope From: sans
! subaddress, do nothing
   *|SMTP|*|tcp_auth|*+*@*|$2*@$4*    $Y
! Fall though to...
! ...authenticated address present, but didn't match, so force
! Sender: header
  *|SMTP|*|tcp_auth|*|*              $Y$K$3