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

LDAP 결과 처리

LDAP 별칭 결과 처리는 순서가 정해진 여러 단계를 통해 수행됩니다. 이러한 단계는 다음 절에서 설명됩니다.

객체 클래스 검사

별칭 검색에 성공할 경우 사용자나 그룹에 대한 적절한 객체 클래스 집합이 포함되었는지 확인하기 위해 항목의 객체 클래스가 검사됩니다. 사용자 및 그룹에 대한 필수 객체 클래스의 가능한 집합은 일반적으로 활성화된 schemata에 따라 달라지며 이것은 local.imta.schematag 설정에 의해 결정됩니다.

표 9–1은 다양한 schematag 값의 결과인 사용자 및 그룹 객체 클래스를 보여 줍니다.

표 9–1 다양한 schematag 값의 결과인 객체 클래스

schematag

사용자 객체 클래스 

그룹 객체 클래스 

sims40

inetMailRouting+inetmailuser

inetMailRouting+inetmailgroup

nms41

mailRecipient + nsMessagingServerUser

mailGroup

ims50

inetLocalMailRecipient+inetmailuser

inetLocalMailRecipient + inetmailgroup

이 표의 정보는 스키마 태그 처리의 나머지 부분과 마찬가지로 하드 코딩됩니다. 그러나 option.dat 파일에는 또한 사용자와 그룹에 대해 각각 다른 객체 클래스 집합을 지정하도록 설정할 수 있는 두 개의 MTA 옵션인 LDAP_USER_OBJECT_CLASSESLDAP_GROUP_OBJECT_CLASSES가 존재합니다.

예를 들어, ims50,nms41의 스키마 태그 설정은 다음 옵션 설정과 동등합니다.

LDAP_USER_OBJECT_CLASSES=inetLocalMailRecipient+inetmailuser, mailRecipient+nsMessagingServerUser

LDAP_GROUP_OBJECT_CLASSES=inetLocalMailRecipient+inetmailgroup, mailGroup

사용자나 그룹에 적합한 올바른 객체 클래스 집합이 없을 경우 LDAP 결과는 간단하게 무시됩니다. 또한 MTA는 사용자나 그룹을 처리하고 있는지 확인하여 이 정보를 저장합니다. 저장된 이 정보는 나중에 반복적으로 사용됩니다.

여기에 설명된 객체 클래스 설정이 또한 실제 LDAP 검색 필터를 생성하는 데 사용되며 이 필터는 사용자나 그룹에 대한 올바른 객체 클래스를 항목이 갖고 있는지 확인하는 데 사용될 수 있다는 것에 주의합니다. 이 필터는 $K 메타 문자를 통해 액세스할 수 있습니다. 또한 이 필터는 채널 프로그램에서 사용할 수 있도록 MTA의 구성에 내부적으로 저장되며 imsimta cnbuild -option 명령이 사용되면 MTA 옵션 파일 option.datLDAP_UG_FILTER 옵션으로 기록됩니다. 이 옵션은 단지 이 파일에 기록만 되며 MTA는 옵션 파일에서 절대로 이 옵션을 읽지 않습니다.

항목 상태 검사

다음은 항목의 상태가 검사됩니다. 두 가지 상태 속성이 존재하는데 하나는 항목에 대한 일반 속성이며 다른 하나는 메일 서비스에 대한 특수한 속성입니다.

표 9–2는 유효한 schemata에 따라 검사되는 schematag 항목의 일반 및 메일별 사용자 또는 그룹 속성을 보여 줍니다.

표 9–2 검사할 속성

schematag

유형 

일반적인 문제 

메일 

sims40 

사용자 

inetsubscriberstatus

mailuserstatus

sims40 

그룹 

없음 

inetmailgroupstatus

nms41 

사용자 

없음 

mailuserstatus

nms41 

그룹 

없음 

없음 

Messaging Server 5.0 

사용자 

inetuserstatus

mailuserstatus

Messaging Server 5.0 

그룹 

없음 

inetmailgroupstatus

필요한 경우 option.dat 파일의 LDAP_USER_STATUSLDAP_GROUP_STATUS MTA 옵션을 각각 사용하여 사용자와 그룹에 대한 대체 일반 상태 속성을 선택할 수 있습니다. 메일별 사용자 및 그룹 상태 속성은 LDAP_USER_MAIL_STATUSLDAP_GROUP_MAIL_STATUS MTA 옵션으로 제어합니다.

이와 관련된 또 다른 요소는 도메인 자체에 대한 상태(LDAP_DOMAIN_ATTR_STATUSLDAP_DOMAIN_ATTR_MAIL_STATUS)입니다. 모두 합쳐서 네 개의 상태 속성이 존재하며 이러한 상태 속성은 다음 순서로 고려되어 결합됩니다.

  1. 도메인 상태

  2. 도메인 메일 상태

  3. 사용자 또는 그룹 상태

  4. 메일 사용자 또는 그룹 상태

“active” 이외의 상태를 지정하는 첫 번째 속성은 다른 모든 것보다 우선합니다. 가능한 기타 상태 값은 “inactive”, “deleted”, “removed”, “disabled”, “hold” 및 “overquota”입니다. “Hold”, “disabled” 및 “removed” 상태는 메일 도메인이나 메일 사용자, 메일 그룹에만 지정될 수 있습니다. “Overquota” 상태는 메일 도메인 또는 메일 사용자 상태로만 지정할 수 있습니다.

특정 상태 속성이 존재하지 않을 경우 모든 상태는 기본적으로 “active”입니다. 알 수 없는 상태 값은 “inactive”로 해석됩니다.

네 가지 상태가 결합되면 사용자나 그룹은 “inactive”, “deleted”, “removed”, “disabled”, “hold” 및 “overquota”라는 상태가 될 수 있습니다. active 상태는 별칭 처리가 계속되도록 합니다. inactive 또는 overquota 상태의 경우 4xx(임시) 오류와 함께 주소가 즉시 거부됩니다. deleted, removed 및 disabled 상태의 경우 5xx(영구) 오류와 함께 주소가 즉시 거부됩니다. hold 상태는 상태 처리와 관련해서는 active로 처리되지만 나중에 전달 옵션이 고려될 때 단일 “hold” 항목을 포함하는 옵션 목록이 존재하는 모든 옵션보다 우선하도록 내부 플래그가 설정됩니다.

UID 검사

다음 단계는 항목의 UID를 고려하는 것입니다. 다양한 목적에 사용되는 UID는 모든 사용자 항목의 일부여야 하며 그룹 항목에 포함될 수 있습니다. UID가 없는 사용자 항목은 무시되며 이 별칭 URL의 처리가 실패로 종료합니다. 호스트된 도메인의 항목에 대한 UID는 실제 UID, 구분자 문자 및 도메인으로 구성될 수 있습니다. MTA는 실제 UID만을 원하기 때문에 나머지 항목은 제거되며 이 제거 작업에는 option.dat 파일의 LDAP_DOMAIN_ATTR_UID_SEPARATOR MTA 옵션에서 얻은 도메인 구분자 문자가 사용됩니다.

uid가 아닌 속성이 UID를 저장하는 데 사용된 드문 경우에는 LDAP_UID MTA 옵션을 사용하여 다른 속성을 사용하도록 강제할 수 있습니다.

메일 캡처

다음은 하나 이상의 메일 캡처 주소를 지정하는 데 사용되는 LDAP 속성이 검사됩니다. 이 목적에 사용되는 속성은 LDAP_CAPTURE MTA 옵션을 사용하여 지정해야 합니다. 기본값은 없습니다. 이 속성 값은 주소로 간주되며 특수한 “캡처” 알림이 생성되어 현재 메일을 첨부 파일로 포함하는 이러한 주소로 보내집니다. 또한 캡처 주소는 이후에 주소가 봉투의 From: 주소로 표시되는 경우에 주소 역방향 캐시를 시드하는 데 지시합니다.

역방향 캐시 시드

다음은 사용자 항목에 추가된 주 주소와 모든 별칭이 고려됩니다. 이 정보는 주소 역방향 캐시를 시드하는 데 사용되며 현재의 주소 변환 프로세스에서 특정한 역할을 수행하지는 않습니다. 우선 주 주소, 개인 이름, 수신자 제한, 수신자 경계 및 소스 블록 제한 속성이 고려됩니다. 주 주소는 일반적으로 “mail” 속성에 저장되지만 LDAP_PRIMARY_ADDRESS MTA 옵션을 적절하게 설정하여 다른 속성을 지정할 수 있습니다. (물론, 주 주소는 그 자체에 대해 반전됩니다.)다른 모든 속성의 경우에는 기본 속성이 존재하지 않습니다. 이러한 속성을 사용하려면 LDAP_PERSONAL_NAME( 휴가 자동 회신 속성 참조), LDAP_RECIPIENTLIMIT, LDAP_RECIPIENTCUTOFF( 메일 수신자 제한 참조) 및 LDAP_SOURCEBLOCKLIMIT( 절대 메일 크기 제한 지정 참조) MTA 옵션으로 해당 속성을 지정해야 합니다. 또한 해당하는 도메인 수준 수신자 제한, 수신자 경계 및 소스 블록 제한 속성도 이 시점에서 고려됩니다. 사용자 수준 설정은 모든 도메인 수준 설정보다 우선합니다.

다음은 모든 보조 주소가 고려되고 각 보조 주소에 대한 캐시 항목이 작성됩니다. 보조 주소에는 역방향으로 진행되는 주소와 그렇지 않은 주소의 두 종류가 있습니다. 메일 캡처 요청을 모든 경우에 검사해야 하기 때문에 주소 역방향 캐시를 적절하게 시드하려면 두 종류를 모두 고려해야 합니다.

역방향이 적용되는 보조 주소는 일반적으로 mailAlternateAddress 속성에 저장되며 LDAP_ALIAS_ADDRESSES MTA 옵션을 설정하여 다른 옵션을 지정할 수 있습니다. 역방향이 적용되지 않는 보조 주소는 일반적으로 mailEquivalentAddress 속성에 저장되며 LDAP_EQUIVALENCE_ADDRESSES MTA 옵션으로 다른 속성을 지정할 수 있습니다.

메일 호스트 및 라우팅 주소

이제 mailhostmailRoutingAddress 속성을 고려할 차례입니다. 고려되는 실제 속성은 각각 LDAP_MAILHOSTLDAP_ROUTING_ADDRESS MTA 옵션을 사용하여 무시할 수 있습니다. 이러한 속성은 서로 합쳐져서 주소를 지금 실행해야 하는지 아니면 다른 시스템으로 전달해야 하는지 여부를 결정합니다.

첫 번째 단계는 이 항목에 대해 mailhost가 의미가 있는지 여부를 확인하는 것입니다. 항목이 mailhost 특정 항목인지 여부를 확인하기 위해 해당 항목에 대해 활성화된 전달 옵션의 예비 검사가 수행됩니다. mailhost 특정 항목이 아닐 경우 mailhost 검사가 생략됩니다. 이 검사가 수행되는 방법을 이해하려면 전달 옵션 처리에 설명된 내용을 특히 # 플래그를 중심으로 참조하십시오.

사용자 항목의 경우 mailhost 속성은 로컬 시스템을 식별할 경우에만 실행됩니다. mailhost 속성은 local.hostname configutil 매개 변수의 값과 local.imta.hostnamealiases configutil 매개 변수에 지정된 값 목록에 대해 비교됩니다. 일치하는 항목이 있을 경우 mailhost 속성은 로컬 호스트를 식별하는 것으로 간주됩니다.

일치에 성공할 경우 별칭이 로컬로 실행될 수 있으며 별칭 처리가 계속된다는 것을 의미합니다. 일치에 실패할 경우에는 mailhost로 전달해야만 메일이 작동한다는 것을 의미합니다. 다음 형식의 새 주소가 생성되며

@mailhost:user @domain

별칭 확장 작업의 결과가 됩니다.

누락된 mailhost 속성의 처리는 항목이 사용자인지 아니면 그룹인지 여부에 따라 달라집니다. 사용자인 경우 mailhost가 필수적이므로 mailhost 속성이 존재하지 않을 경우 다음 형식의 새 주소가

@smarthost: user@domain

LDAP_DOMAIN_ATTR_SMARTHOST MTA 옵션에 지정된 도메인에 대한 스마트 호스트를 사용하여 생성됩니다. 도메인에 대한 스마트 호스트가 존재하지 않을 경우 오류가 보고됩니다.

반면, 그룹의 경우에는 mailhost가 필요하지 않으므로 누락된 mailhost는 그룹을 어디에서나 확장할 수 있다는 것을 의미하는 것으로 해석됩니다. 따라서 별칭 처리가 계속 진행됩니다.

mailRoutingAddress 속성은 유용한 최종 기능 하나를 추가합니다. 이 속성이 존재할 경우 별칭 처리는 결과적으로 mailRoutingAddress와 함께 종료합니다. 그러나 mailhost가 존재할 경우 해당 mailhost는 mailRoutingAddress에 소스 경로로 추가됩니다.

기타 속성 지원

다음은 mailMsgMaxBlocks 속성이 고려됩니다. 우선 이 속성은 LDAP_DOMAIN_ATTR_BLOCKLIMIT MTA 옵션에서 반환된 도메인 블록 제한에 따라 최소화됩니다. 현재 메일의 크기가 이 제한을 초과하는 것으로 확인될 경우 별칭 처리는 크기 초과 오류와 함께 종료합니다. 크기가 알려지지 않거나 제한을 초과하지 않을 경우에는 제한이 저장되며 나중에 메일 자체가 검사될 때 해당 제한이 다시 검사됩니다. mailMsgMaxBlocks 사용은 LDAP_BLOCKLIMIT MTA 옵션을 사용하여 무시할 수 있습니다.

다음은 여러 속성이 평가 및 저장됩니다. 결국 이러한 속성은 ims_master 채널 프로그램에 사용되도록 대기열 파일 항목에 기록되며 이 채널 프로그램은 이러한 속성을 사용하여 저장소의 사용자 정보 캐시를 업데이트합니다. 개별 사용자에 대한 속성이 발견되지 않을 경우 도메인 수준 속성을 사용하여 기본값을 설정할 수 있습니다.

LDAP 항목이 사용자가 아니라 그룹에 대한 것이거나 LDAP 항목을 LDAP 디렉토리가 아니라 별칭 캐시에서 가져온 경우 이 단계를 건너뛰게 됩니다. 후자의 조건에 담겨 있는 논리는 이 정보를 자주 업데이트하는 것이 불필요하며 별칭 캐시를 사용하면 업데이트를 수행해야 할 경우에 대한 적절한 기준이 제공된다는 점입니다. 검색된 속성의 이름은 다양한 MTA 옵션에 의해 설정됩니다.

표 9–3은 검색된 디스크 할당량 및 메일 할당량 속성을 설정하는 MTA 옵션을 보여 줍니다.

표 9–3 검색된 디스크 할당량 및 메일 할당량 속성을 설정하는 MTA 옵션

MTA 옵션 

속성 

LDAP_DISK_QUOTA

mailQuota

LDAP_MESSAGE_QUOTA

mailMsgQuota

다음은 나중에 메타 문자 대체와 함께 사용할 수 있도록 여러 속성이 저장됩니다.

표 9–4는 MTA 옵션, 기본 속성 및 메타 문자를 보여 줍니다.

표 9–4 MTA 옵션, 기본 속성 및 메타 문자

MTA 옵션 

기본 속성 

메타 문자 

LDAP_PROGRAM_INFO

mailProgramDeliveryInfo

$P

LDAP_DELIVERY_FILE

mailDeliveryFileURL

$F

LDAP_SPARE_1

기본값 없음 

$1E $1G $E

LDAP_SPARE_2

기본값 없음 

$2E $2G $G

LDAP_SPARE_3

기본값 없음 

$3E $3G

LDAP_SPARE_4

기본값 없음 

$4E $4G

LDAP_SPARE_5

기본값 없음 

$5E $5G

추가 속성을 위한 예비 슬롯이 포함되는데 이러한 슬롯을 사용하여 사용자 정의된 주소 확장 기능을 작성할 수 있습니다.

다음은 mailconversiontag 속성과 연관된 모든 값이 현재의 변환 태그 집합에 추가됩니다. 이 속성의 이름은 LDAP_CONVERSION_TAG MTA 옵션을 사용하여 변경할 수 있습니다. 또한 도메인의 mailDomainConversionTag 속성과 연관된 모든 값도 추가됩니다.

전달 옵션 처리

다음은 mailDeliveryOption 속성이 검사됩니다. 이 속성의 이름은 LDAP_DELIVERY_OPTION MTA 옵션을 사용하여 변경할 수 있습니다. 이 속성은 여러 값을 가지며 별칭 변환 프로세스에 의해 생성되는 주소가 이 속성 값에 의해 결정됩니다. 또한 사용자와 그룹에 대해 허용되는 값이 다릅니다. 일반적으로 허용되는 값은 program, forwardhold입니다. 사용자 전용 값은 mailbox, native , unixautoreply이며 그룹 전용 값은 members, members_offline file입니다.

mailDeliveryOption 속성이 적절한 주소로 변환되는 작업은 DELIVERY_OPTIONS MTA 옵션에 의해 제어됩니다. 이 옵션은 허용되는 각 mailDeliveryOption 값이 생성하는 주소뿐만 아니라 허용되는 mailDeliveryOption 값과 각 값이 사용자, 그룹 또는 둘 다에 적용될 수 있는지 여부를 지정합니다.

이 옵션 값은 deliveryoption=template 쌍의 쉼표로 구분된 목록으로 구성되며 각 쌍은 하나 이상의 선택적 단일 문자 접두어를 가집니다.

DELIVERY_OPTIONS 옵션의 기본값은 다음과 같습니다.

DELIVERY_OPTIONS=*mailbox=$M%$\\$2I$_+$2S@ims-ms-daemon, \
     &members=*,                                           \
     *native=$M@native-daemon,                             \
     /hold=@hold-daemon:$A,                                \
     *unix=$M@native-daemon,                               \
     &file=+$F@native-daemon,                              \
     &@members_offline=*,                                  \
     program=$M%$P@pipe-daemon,                            \
     #forward=**,                                          \
     *^!autoreply=$M+$D@bitbucket

각 전달 옵션은 가능한 mailDeliveryOption 속성 값에 해당하며 해당 템플리트는 URL 처리에 사용되는 것과 동일한 메타 문자 대체 방법을 사용하여 결과 주소를 지정합니다.

표 9–5DELIVERY_OPTIONS 옵션에 사용할 수 있는 단일 문자 접두어를 보여 줍니다.

표 9–5 DELIVERY_OPTIONS MTA 옵션에 사용할 수 있는 단일 문자 접두어

접두어 문자 

설명 

@

메일이 프로세스 채널에 리디렉션되어야 한다는 사실을 보여주도록 플래그를 설정하십시오. 현재 사용자/그룹의 처리는 금지되어 있습니다. 플래그는 재처리 채널에서 보내지는 메일에 대해서는 무시됩니다. 

*

전달 옵션이 사용자에게 적용됩니다. 

&

전달 옵션이 그룹에 적용됩니다. 

$

이 사용자 또는 그룹의 확장이 지연된다는 것을 나타내는 플래그를 설정합니다. 

^

휴가 시작 및 종료 시간을 검사하여 이 전달 옵션이 실제로 유효한지 확인해야 한다는 것을 나타내는 플래그를 설정합니다. 

#

이 전달 옵션의 확장이 항목의 지정된 메일 호스트에서 발생할 필요가 없다는 것을 나타내는 플래그를 설정합니다. 즉, 다음 항목은 메일 호스트에 독립적입니다. 이렇게 하면 MTA는 주어진 사용자 또는 그룹의 모든 전달 옵션이 메일 호스트에 독립적인지 확인할 수 있습니다. 이 조건이 충족되면 MTA는 메일을 메일 호스트에 전달하지 않고도 즉시 항목에 대한 작업을 수행할 수 있습니다. 

/

이 전달 옵션에 의해 생성된 모든 주소가 보관된다는 것을 나타내는 플래그를 설정합니다. 이러한 수신자 주소를 포함하는 메일 파일은 .HELD 확장자를 가집니다.

!

MTA가 자동 회신 작업을 내부적으로 처리해야 한다는 것을 나타내는 플래그를 설정합니다. 이 접두어는 자동 회신 전달 옵션에서만 사용되어야 합니다. 옵션 값은 메일을 bitbucket 채널로 전송해야 합니다. 

*&가 모두 존재하지 않을 경우 전달 옵션은 사용자 및 그룹 모두에 적용됩니다.

전달 옵션에 사용할 추가 메타 문자

MTA의 새로운 URL 템플리트 기능 사용을 지원하기 위해 여러 추가 메타 문자가 다음과 같이 추가되었습니다.

표 9–6은 전달 옵션에서 사용하기 위한 추가 메타 문자와 그 설명을 보여 줍니다.

표 9–6 전달 옵션에 사용할 추가 메타 문자

메타 문자 

설명 

$\

후속 텍스트를 소문자로 바꿉니다. 

$^

후속 텍스트를 대문자로 바꿉니다. 

$_

후속 텍스트에 대해 대소문자 변환을 수행하지 않습니다. 

$nA

주소의 n번째 문자를 삽입합니다. 첫 번째 문자는 문자 0입니다. n이 생략될 경우 전체 주소가 대체됩니다. 이 메타 문자는 자동 회신 디렉토리 경로를 생성하는 데 사용됩니다.

$D

주소의 도메인 부분을 삽입합니다. 

$nE

n번째 예비 속성의 값을 삽입합니다. n이 생략될 경우 첫 번째 속성이 사용됩니다.

$F

전달 파일의 이름(mailDeliveryFileURL 속성)을 삽입합니다.

$nG

n번째 예비 속성의 값을 삽입합니다. n이 생략될 경우 두 번째 속성이 사용됩니다.

$nH

원래 주소에서 0부터 시작하는 도메인의 n번째 구성 요소를 삽입합니다. n이 생략될 경우 기본값은 0입니다.

$nI

별칭과 연관된 호스트된 도메인을 삽입합니다. 이 메타 문자는 표 9–7에 의미가 설명되어 있는 정수 매개 변수 n을 허용합니다.

$nJ

0부터 시작하는 호스트 도메인의 n번째 부분을 삽입합니다. n의 기본값은 0입니다.

$nO

현재 주소와 연관된 소스 루트를 삽입합니다. 이 메타 문자는 표 9–7에 의미가 설명되어 있는 정수 매개 변수 n을 허용합니다.

$K

사용자 또는 그룹에 대한 객체 클래스와 일치하는 LDAP 필터를 삽입합니다. LDAP_UG_FILTER 출력 전용 MTA 옵션의 설명을 참조하십시오.

$L

주소의 로컬 부분을 삽입합니다. 

$nM

UID의 n번째 문자를 삽입합니다. 첫 번째 문자는 문자 0입니다. n이 생략될 경우 전체 UID가 대체됩니다.

$P

프로그램 이름(mailProgramDeliveryInfo 속성)을 삽입합니다.

$nS

현재 주소와 연관된 하위 주소를 삽입합니다. 이 메타 문자는 표 9–7에 의미가 설명되어 있는 정수 매개 변수 n을 허용합니다.

$nU

현재 주소의 메일함 부분에서 따옴표가 없는 형식의 n번째 문자를 삽입합니다. 첫 번째 문자는 문자 0입니다. n이 생략될 경우 따옴표가 없는 전체 메일함이 대체됩니다. 

$nX

메일 호스트의 n번째 구성 요소를 삽입합니다. n이 생략될 경우 전체 메일 호스트가 삽입됩니다.

표 9–7은 정수 매개 변수가 $nI 및 $nS 메타 문자의 동작을 수정하는 방법을 보여 줍니다.

표 9–7 $nI 및 $nS 메타 문자의 동작 수정을 제어하는 정수

정수 

동작 설명 

0

사용할 수 있는 값이 없을 경우 실패합니다(기본값). 

사용할 수 있는 값이 있을 경우 해당 값을 삽입하고없을 경우에는 아무 것도 삽입하지 않습니다. 

사용할 수 있는 값이 있을 경우 해당 값을 삽입하고없을 경우에는 아무 것도 삽입하지 않고 앞의 문자를 삭제합니다(이 특수한 동작은 ims-ms 채널에 필요함).

사용할 수 있는 값이 있을 경우 해당 값을 삽입하고없을 경우에는 아무 것도 삽입하지 않고 다음 문자를 무시합니다. 

표 9–8은 메타 문자 외에 두 개의 특수한 템플리트 문자열을 보여 줍니다.

표 9–8 특수한 템플리트 문자열

특수한 템플리트 문자열 

설명 

*

그룹 확장을 수행합니다. 사용자 항목의 경우에는 이 값이 유효하지 않습니다. 

**

LDAP_FORWARDING_ADDRESS MTA 옵션에 의해 명명된 속성을 확장합니다. 기본값은 mailForwardingAddress입니다.

그룹 확장의 경우 예를 들어, 사용자의 mailDeliveryOption 값이 mailbox로 설정되면 스트라이프된 UID, 백분율 기호 다음의 호스트된 도메인(적용 가능한 경우), 더하기 기호 다음의 하위 주소(지정된 경우), 마지막으로 @ims-ms-daemon 으로 구성된 새 주소가 생성됩니다.

전달 옵션 기본값

이 시점에서 활성 전달 옵션의 목록이 비어 있을 경우 목록의 첫 번째 옵션(일반적으로 메일함)이 사용자에 대해 활성화되고 목록의 두 번째 옵션(일반적으로 구성원)이 그룹에 대해 활성화됩니다.

시작 및 종료 날짜 검사

전달 옵션 목록을 읽은 후에 시작 및 종료 날짜가 검사됩니다. 두 가지 속성이 존재하며 이러한 속성의 이름은 각각 LDAP_START_DATE(기본값 vacationStartDate ) 및 LDAP_END_DATE(기본값 vacationEndDate) MTA 옵션에 의해 제어됩니다. 하나 이상의 활성 전달 옵션이 ^ 접두어 문자를 지정한 경우 이러한 옵션의 값이 현재 날짜에 대해 검사됩니다. 현재 날짜가 이러한 옵션에 지정된 범위를 벗어날 경우 ^ 접두어를 가진 전달 옵션이 활성 집합에서 제거됩니다. 자세한 내용은 휴가 자동 회신 속성을 참조하십시오.

Optin 및 Presence 속성

LDAP_OPTIN MTA 옵션을 사용하면 스팸 필터 수신 선택 기능 값의 목록을 포함하는 LDAP 속성을 지정할 수 있습니다. 이 옵션이 지정되고 속성이 존재할 경우 현재의 스팸 필터 수신 선택 기능 목록에 해당 속성이 추가됩니다. 또한 LDAP_DOMAIN_ATTR_OPTIN MTA 옵션에 의해 설정된 도메인 수준 속성이 설정하는 모든 값도 이 목록에 추가됩니다.

LDAP_PRESENCE MTA 옵션을 사용하면 사용자에 대한 존재 여부 정보를 반환하기 위해 확인할 수 있는 URL을 지정할 수 있습니다. 이 옵션이 지정되고 속성이 존재할 경우 시브(sieve) 존재 여부 테스트와 함께 사용할 수 있도록 속성 값이 저장됩니다. 사용자 항목에 대한 값이 존재하지 않을 경우 LDAP_DOMAIN_ATTR_PRESENCE MTA 옵션에 의해 설정된 도메인 수준 속성이 이 URL의 소스로 사용됩니다.

시브(Sieve) 필터 처리

다음은 이 항목에 적용되는 시브(sieve) 필터에 대해 mailSieveRuleSource 속성이 검사됩니다. 이 속성은 존재할 경우 이 시점에서 구문 분석 및 저장됩니다. 이 속성 값에 대한 두 가지 가능한 형식으로는 완전한 시브(sieve) 스크립트를 포함하는 단일 값 형식과 각 값이 시브(sieve) 스크립트를 포함하는 다중 값 형식이 있습니다. 후자의 형식은 웹 필터 생성 인터페이스에 의해 생성됩니다. 값의 순서를 지정하고 적절하게 값을 결합하기 위해 특수한 코드가 사용됩니다.

mailSieveRuleSource 속성 사용을 특별히 LDAP_FILTER MTA 옵션을 사용하여 무시할 수 있습니다.

지연된 처리 제어

다음은 mailDeferProcessing 속성이 검사됩니다. 이 속성은 LDAP_REPROCESS MTA 옵션을 사용하여 변경할 수 있습니다. 이 속성이 존재하고 no로 설정된 경우 처리는 정상적으로 처리됩니다. 그러나 이 속성이 yes로 설정되고 현재 소스 채널이 재처리 채널이 아닐 경우 이 항목의 확장이 중지되며 원래 user@domain 주소가 단순히 재처리 채널의 대기열에 포함됩니다. 이 속성이 존재하지 않을 경우 전달 옵션 처리와 연관된 지연된 처리 문자 접두어의 설정이 검사됩니다. 이에 대한 예는 전달 옵션 처리 절을 참조하십시오. 사용자에 대한 기본값은 no입니다. 그룹에 대한 기본값은 DEFER_GROUP_PROCESSING MTA 옵션에 의해 제어되며 이 옵션의 기본값은 1(yse)입니다. 사용자 항목의 경우 이 시점에서 별칭 처리가 완료됩니다.

그룹 확장 속성

여러 추가 속성이 그룹 확장과 연관되며 이 시점에서 처리되어야 합니다. 이러한 속성의 이름은 모두 다양한 MTA 옵션을 통해 구성할 수 있습니다.

표 9–9에는 기본 속성 이름, 속성 이름을 설정하기 위한 MTA 옵션 및 MTA가 속성을 처리하는 방법이 나열되어 있습니다. 이 표에 있는 요소의 순서는 다양한 그룹 속성이 처리되는 순서를 보여 줍니다. 정확한 작업을 위해서는 이 순서가 필수적입니다.

표 9–9 설정할 그룹 확장 기본 속성 및 MTA 옵션

기본 속성 

(속성 이름을 설정하기 위한 MTA 옵션) 속성이 처리되는 방법 

mgrpMsgRejectAction

(LDAP_REJECT_ACTION) 후속 액세스 검사가 실패할 경우 발생하는 작업을 제어하는 단일 값 속성입니다. 값은TOMODERATOR하나만 정의되며 이 값은 설정된 경우 모든 액세스 실패를 mgrpModerator 속성에 의해 지정된 중재자로 리디렉션하도록 MTA에 지시합니다. 이 속성에 값(기본값 및 다른 모든 값)이 지정되면 오류가 보고되며 메일이 거부됩니다.

mailRejectText

(LDAP_REJECT_TEXT) 이 속성의 첫 번째 값에 저장된 텍스트의 첫 번째 행이 저장됩니다. 다음 인증 속성 중 하나로 인해 메일이 거부될 경우 이 텍스트가 반환됩니다. 이것은 텍스트가 SMTP 응답에 나타날 수 있으므로 값을 US-ASCII로 제한하여 현재 메시징 표준을 따르도록 해야 한다는 것을 의미합니다.

mgrpBroadcasterPolicy

(LDAP_AUTH_POLICY) 그룹에 보내는 데 필요한 인증 수준을 지정합니다. 가능한 토큰은 SMTP_AUTH_REQUIRED 또는 AUTH_REQ(두 가지 모두 SMTP AUTH 명령을 사용하여 그룹에 보내는 순서대로 보내는 사람을 식별해야 함을 의미), PASSWORD_REQUIRED, PASSWD_REQUIRED 또는 PASSWD_REQ(이 세 가지는 mgrpAuthPassword 속성에 지정된 목록의 비밀번호가 메일의 Approved: 헤더 필드에 표시되어야 함을 의미), OR(이 목록에 대해 OR_CLAUSES MTA 옵션 설정을 1로 변경), AND(이 목록에 대해 OR_CLAUSES 옵션 설정을 0으로 변경), NO_REQUIREMENTS(no-op) 등입니다. 여러 값이 허용되고 각 값은 쉼표로 구분된 토큰 목록으로 구성될 수 있습니다.

SMTP AUTH가 호출된 경우에는 또한 MAIL FROM 주소가 아니라 SASL 계층에 의해 제공된 전자 메일 주소에 대해 이후의 모든 권한 부여 검사가 수행된다는 것을 의미합니다. 

mgrpAllowedDomain

(LDAP_AUTH_DOMAIN) 이 그룹에 메일을 제출하는 것이 허용된 도메인입니다. 0(기본값)으로 설정된 OR_CLAUSES 옵션과의 일치 실패는 액세스 검사가 실패했고 모든 후속 테스트를 수행하지 않는다는 의미입니다. 1로 설정된 OR_CLAUSES MTA 옵션과의 일치 실패는 “failure pending” 플래그를 설정합니다. 즉, 액세스 검사를 계속하려면 다른 액세스 검사가 성공해야 합니다. 전송자가 이미 LDAP_AUTH_URL과 일치되어 있으면 이러한 검사를 수행하지 않습니다. 값이 여러 개일 수 있고 글롭 와일드카드가 허용됩니다.

mgrpDisallowedDomain

(LDAP_CANT_DOMAIN) 이 그룹에 메일을 제출하는 것이 허용되지 않는 도메인입니다. 일치는 액세스 검사가 실패했고 모든 후속 검사가 수행되지 않는다는 의미입니다. 전송자가 이미 LDAP_AUTH_URL과 일치되어 있으면 이러한 검사를 수행하지 않습니다. 값이 여러 개일 수 있고 글롭 와일드카드가 허용됩니다.

mgrpAllowedBroadcaster

(LDAP_AUTH_URL) 이 그룹에 메일을 전송하는 것이 허용된 메일 주소를 식별하는 URL입니다. 값이 여러 개일 수 있습니다. 각 URL은 주소 목록으로 확장되며 현재 봉투의 From: 주소에 대해 각 주소가 지시합니다. 0(기본값)으로 설정된 OR_CLAUSES MTA 옵션과의 일치 실패는 액세스 검사가 실패했고 모든 후속 테스트를 수행하지 않는다는 의미입니다. 1로 설정된 OR_CLAUSES MTA 옵션과의 일치 실패는 “failure pending” 플래그를 설정합니다. 즉, 액세스 검사가 성공하기 위해서는 다른 액세스 검사가 성공해야 합니다. 일치하는 경우에도 후속 도메인 액세스 검사는 비활성화됩니다. 수행되는 확장은 모든 액세스 제어 검사를 비활성화하는 SMTP EXPN과 비슷합니다.

mgrpDisallowedBroadcaster

(LDAP_CANT_URL) 메일을 이 그룹에 전송하는 것이 허용되지 않는 메일 주소를 식별하는 URL입니다. 값이 여러 개일 수 있습니다. 각 URL은 주소 목록으로 확장되며 현재 봉투의 From: 주소에 대해 각 주소가 지시합니다. 일치는 액세스 검사가 실패했고 모든 후속 검사가 수행되지 않는다는 의미입니다. 수행되는 확장은 모든 액세스 제어 검사를 비활성화하는 SMTP EXPN과 비슷합니다.

mgrpMsgMaxSize

(LDAP_ATTR_MAXIMUM_MESSAGE_SIZE) 그룹에 전송할 수 있는 최대 메일 크기(바이트)입니다. 이 속성은 폐기되었지만 이전 버전과의 호환성을 위해 계속 지원됩니다. 대신, 새 mailMsgMaxBlocks 속성을 사용해야 합니다.

mgrpAuthPassword

(LDAP_AUTH_PASSWORD) 목록에 게시하는 데 필요한 비밀번호를 지정합니다. mgrpAuthPassword속성이 존재하면 재처리 통과가 강제됩니다. 메일이 재처리 채널의 대기열에 포함되면 헤더에서 가져온 비밀번호가 봉투에 포함됩니다. 그런 다음 재처리 도중에 해당 비밀번호는 봉투에서 가져와 이 속성에 대해 검사됩니다. 또한 실제로 사용되는 비밀번호만 헤더 필드에서 제거됩니다.

이 속성에서 OR_CLAUSES MTA 옵션은 다른 액세스 검사 속성의 경우와 같은 방식으로 작동됩니다. 

mgrpModerator

(LDAP_MODERATOR_URL) 일련의 주소로 확장될 이 속성에 의해 제공된 URL 목록입니다. 이 주소 목록의 해석은 LDAP_REJECT_ACTION MTA 옵션의 설정에 따라 달라집니다. LDAP_REJECT_ACTIONTOMODERATOR로 설정된 경우 이 속성은 액세스 검사 중 하나가 실패할 경우에 메일을 전송할 중재자 주소를 지정합니다. LDAP_REJECT_ACTION이 누락되거나 다른 값을 가진 경우 이 주소 목록은 봉투의 보낸 사람 주소와 비교됩니다. 일치하는 항목이 있을 경우 처리가 계속됩니다. 일치하는 항목이 없을 경우 이 속성에 지정된 모든 주소로 메일이 다시 전송됩니다. 이 속성을 확장하는 작업은 이 속성 값을 그룹에 대한 URL 목록으로 만드는 방법으로 구현됩니다. 그룹과 연관된 RFC822 주소 또는 DN의 모든 목록이 지워지며 그룹에 대한 전달 옵션은 members로 설정됩니다. 마지막으로 이 표에 나열된 후속 그룹 속성이 무시됩니다.

mgrpDeliverTo

(LDAP_GROUP_URL1) 확장될 경우 메일 목록 구성원 주소의 목록을 제공하는 URL 목록입니다.

memberURL

(LDAP_GROUP_URL2) 확장될 경우 메일 목록 구성원 주소의 또 다른 목록을 제공하는 URL의 다른 목록입니다.

uniqueMember

(LDAP_GROUP_DN) 그룹 구성원의 DN 목록입니다. DN은 전체 하위 트리를 지정할 수 있습니다. 고유한 구성원 DN은 LDAP URL에 이러한 DN을 내장하는 방법으로 확장됩니다. 사용할 정확한 URL은 GROUP_DN_TEMPLATE MTA 옵션에 의해 지정됩니다. 이 옵션의 기본값은 다음과 같습니다. ldap:///$A?mail?sub?(mail=*)

$AuniqueMember DN이 삽입되는 지점을 지정합니다.

mgrpRFC822MailMember

(LDAP_GROUP_RFC822) 이 목록에 있는 구성원의 메일 주소입니다.

rfc822MailMember

(LDAP_GROUP_RFC822) rfc822MailMember는 이전 버전과의 호환성을 위해 지원됩니다. rfc822MailMembermgrpRFC822MailMember 중에서 하나를 주어진 모든 그룹에 사용할 수 있습니다.

mgrpErrorsTo

(LDAP_ERRORS_TO) 봉투의 메일 발송자(MAIL FROM) 주소를 속성이 지정하는 주소로 설정합니다.

mgrpAddHeader

(LDAP_ADD_HEADER) 속성에 지정된 헤더를 헤더 자르기 ADD 옵션으로 변환합니다.

mgrpRemoveHeader

(LDAP_REMOVE_HEADER) 지정된 헤더를 헤더 자르기 MAXLINES=-1 옵션으로 변환합니다.

mgrpMsgPrefixText

(LDAP_PREFIX_TEXT) 지정된 텍스트를 메일 텍스트(있을 경우)의 시작 부분에 추가합니다.

mgrpMsgSuffixText

(LDAP_SUFFIX_TEXT) 지정된 텍스트를 메일 텍스트(있을 경우)의 끝 부분에 추가합니다.

No Default

(LDAP_ADD_TAG) 지정된 텍스트의 제목을 검사하며 없을 경우 제목 필드의 첫 부분에 텍스트가 추가됩니다.

SMTP EXPN 명령: mgmanMemberVisibility 또는 확장의 일부인 특수한 그룹 확장에서는 최종 속성 하나가 검사됩니다. LDAP_EXPANDABLE MTA 옵션을 사용하여 검사할 다른 속성을 선택할 수 있습니다. 가능한 값에는anyone(누구나 그룹을 확장할 수 있다는 것을 의미), all 또는 true(확장이 허용되려면 사용자가 SASL로 성공적으로 인증되어야 한다는 것을 의미), 그리고 none(확장이 허용되지 않는다는 것을 의미)이 있습니다. 인식되지 않는 값은 none으로 해석됩니다. 이 속성이 존재하지 않을 경우 EXPANDABLE_DEFAULT MTA 옵션은 확장이 허용되는지 여부를 제어합니다.

별칭 항목은 도메인 항목과 비슷한 방식으로 캐시됩니다. 별칭 캐시를 제어하는 MTA 옵션은 ALIAS_ENTRY_CACHE_SIZE(기본값은 1000개 항목) 및 ALIAS_ENTRY_CACHE_TIMEOUT(기본값은 600초)입니다. 주어진 별칭에 대한 전체 LDAP 반환 값은 캐시에 보관됩니다.

별칭 항목의 네거티브 캐싱은 ALIAS_ENTRY_CACHE_NEGATIVE MTA 옵션에 의해 제어됩니다. 0이 아닌 값은 별칭 일치 실패의 캐싱을 활성화하고 값 0은 이 캐싱을 비활성화합니다. 별칭 항목의 네거티브 캐싱은 기본적으로 비활성화되는데 이것은 잘못된 주소가 실제로 반복적으로 지정될 가능성이 별로 없기 때문입니다. 또한 네거티브 캐싱은 디렉토리에 추가된 새 사용자를 제때에 인식하는 데 방해가 될 수 있습니다. 그러나 부속 도메인이 많이 사용될 경우 사이트는 별칭의 네거티브 캐싱을 다시 활성화하는 것을 고려해야 합니다. ALIAS_URL0에 지정된 URL에 의해 수행되는 검색은 성공할 가능성이 적습니다.