전달 상태 알림 메일을 현지화하여 여러 다른 언어로 여러 사용자에게 메일을 반환할 수 있습니다. 예를 들어, 프랑스어를 선호하는 사용자에게 프랑스어 알림을 반환할 수 있습니다.
상태 알림 메일을 현지화 또는 사용자 정의하는 것은 다음 두 단계로 구성됩니다.
현지화/사용자 정의된 return_*.txt 메일 파일 집합을 만들어 각 집합을 별도의 디렉토리에 저장합니다. 이에 대해서는 상태 알림 생성 및 수정에 설명되어 있습니다.
NOTIFICATION_LANGUAGE 매핑 테이블을 설정합니다.
msg_svr_base/config/mappings에 있는 NOTIFICATION_LANGUAGE 매핑 테이블은 원본 메일(알림을 보내는 원인이 되는 메일)의 속성(예: 언어, 국가, 도메인 또는 주소)에 따라 현지화되거나 사용자 정의된 알림 메일 파일 집합을 사용하도록 지정합니다.
상태 알림 유형, 소스 채널, 기본 언어, 반송 주소 및 첫 번째 수신자를 결정하기 위해 원래 보낸 사람의 메일이 구문 분석됩니다. 테이블의 구성 방법에 따라 이러한 속성 중 하나 이상에 기초하여 알림 파일 집합이 선택됩니다.
NOTIFICATION_LANGUAGE 매핑 테이블의 형식은 다음과 같습니다. 인쇄상의 이유로 샘플 항목에서는 줄 바꿈되었지만 실제 항목은 한 행에 표시됩니다.
NOTIFICATION_LANGUAGE dsn-type-list|source-channel|preferred-language|return-address \ |first-recipient $Idirectory-spec |
dsn-type-list는 쉼표로 구분된 전달 상태 알림 유형의 목록입니다. 여러 유형을 지정할 경우 공백 없이 쉼표로 이러한 유형을 구분해야 합니다(공백을 사용할 경우 매핑 테이블 항목의 패턴이 종료됨). 이러한 유형은 다음과 같습니다.
failed - 일반 영구 오류 메일(예: 해당 사용자 없음)입니다. return_failed.txt 파일이 사용됩니다.
bounced - 수동 “바운스”와 함께 사용되는 알림 메일입니다. 포스트마스터에 의해 수행됩니다. return_bounced.txt 파일이 사용됩니다.
timedout - MTA가 전달이 허용되는 시간 내에 메일을 전달하지 못했습니다. 메일을 반환하고 있습니다. return_timedout.txt 파일이 사용됩니다.
delayed - MTA가 메일을 전달하지 못했지만 계속해서 전달을 시도할 것입니다. return_delayed.txt 파일이 사용됩니다.
deferred - “delayed”와 비슷한 전달 실패 알림이지만 MTA가 전달 시도를 계속할 기간이 표시되지 않습니다. return_deferred.txt 파일이 사용됩니다.
forwarded - 메일에 대한 전달 수신 확인이 요청되었지만 이러한 수신 확인을 지원하지 않는 시스템에 메일이 전달되었습니다. return_forwarded.txt 파일이 사용됩니다.
source-channel은 알림 메일을 생성하는 채널(즉, 메일이 현재 대기열이 포함된 채널)입니다. 예를 들어, 메시지 저장소의 전달 대기열에 대한 ims-ms, 아웃바운드 SMTP 대기열에 대한 tcp_local 등이 있습니다.
preferred-language는 처리할 메일(알림이 생성된 메일)이 표현되는 언어입니다. 이 정보의 소스는 우선적으로 accept_language 필드입니다. 해당 필드가 없는 경우 Preferred-language: 헤더 필드와 X-Accept-Language: 헤더 필드가 사용됩니다. 표준 언어 코드 값의 목록은 msg_svr_base /config/languages.txt 파일을 참조하십시오.
이 필드는 비어 있지 않을 경우 Preferred-language: 또는 X-Accept-language: 헤더 행에 지정된 메일의 메일 발송자가 됩니다. 이에 따라 이 필드에 무의미한 문자가 나타날 수 있습니다.
return-address는 원래 메일의 봉투 From: 주소입니다. 이 주소는 알림 메일이 보내지는 봉투 주소이므로 사용할 언어를 나타내는 표시 기호일 수 있습니다.
first-recipient는 원래 메일을 보내도록 지정된 봉투 To: 주소(메일이 여러 수신자에 대해 실패한 경우 첫 번째 주소)입니다. 예를 들어, “your message to dan@siroe.com could not be delivered” 알림에서 보고되는 봉투의 To: 주소는 dan@siroe.com입니다.
directory-spec은 매핑 테이블 검사가 일치할 경우 사용할 return_*.txt 파일을 포함하는 디렉토리입니다. 디렉토리 지정 앞에 $I가 와야 한다는 것에 주의합니다.
예를 들어, 프랑스어 알림 파일(return_*.txt)을 /lc_messages/table/notify_french/ 디렉토리에 저장하고 스페인어 알림 파일을 /lc_messages/table/notify_spanish/ 디렉토리의 return_*.txt 파일에 저장하는 사이트는 아래와 같은 테이블을 사용할 수 있습니다. 각 항목이 하나 이상의 공백으로 시작해야 하며 항목 사이에 빈 행이 올 수 없다는 것에 주의합니다.
NOTIFICATION_LANGUAGE ! Preferred-language: header value specified ! *|*|fr|*|* $I/lc_messages/table/notify_french/ *|*|es|*|* $IIMTA_TABLE/notify_spanish/ *|*|en|*|* $I/imta/lang/ ! ! If no Preferred-language value, then select notification based on the ! country code in the domain name. EX: PF=French Polynesia; BO=Bolivia ! *|*|*|*.fr|* $I/imta/table/notify_french/ *|*|*|*.fx|* $I/imta/table/notify_french/ *|*|*|*.pf|* $I/imta/table/notify_french/ *|*|*|*.tf|* $I/imta/table/notify_french/ *|*|*|*.ar|* $I/imta/table/notify_spanish/ *|*|*|*.bo|* $I/imta/table/notify_spanish/ *|*|*|*.cl|* $I/imta/table/notify_spanish/ *|*|*|*.co|* $I/imta/table/notify_spanish/ *|*|*|*.cr|* $I/imta/table/notify_spanish/ *|*|*|*.cu|* $I/imta/table/notify_spanish/ *|*|*|*.ec|* $I/imta/table/notify_spanish/ *|*|*|*.es|* $I/imta/table/notify_spanish/ *|*|*|*.gp|* $I/imta/table/notify_spanish/ *|*|*|*.gt|* $I/imta/table/notify_spanish/ *|*|*|*.gy|* $I/imta/table/notify_spanish/ *|*|*|*.mx|* $I/imta/table/notify_spanish/ *|*|*|*.ni|* $I/imta/table/notify_spanish/ *|*|*|*.pa|* $I/imta/table/notify_spanish/ *|*|*|*.ve|* $I/imta/table/notify_spanish/ |
알림 언어 매핑이 사용 가능하도록 기본 mappings.locale 파일이 설치 시 함께 제공되어 mappings 파일에 포함됩니다. 알림 언어 매핑을 사용 불가능하게 하려면 다음과 같이 포함 줄을 주석 처리합니다.
! <IMTA_TABLE:mappings.locale
(파일에서 주석을 읽은 다음 자신의 요구에 맞게 적절하게 수정합니다.)