Pickup 디렉터리 관리

 

적용 대상: Exchange Server 2007 SP3, Exchange Server 2007 SP2, Exchange Server 2007 SP1, Exchange Server 2007

마지막으로 수정된 항목: 2007-02-22

기본적으로 Pickup 디렉터리는 허브 전송 서버 역할 또는 Edge 전송 서버 역할이 설치된 모든 Microsoft Exchange Server 2007 컴퓨터에 존재합니다. Pickup 디렉터리로 복사된 올바른 형식의 전자 메일 메시지 파일은 배달을 위해 전송됩니다. Pickup 디렉터리는 관리자가 메일 흐름 테스트를 위해 사용하거나 자체 메시지를 만들어 전송해야 하는 응용 프로그램에 의해 사용됩니다.

모든 Pickup 디렉터리 구성 작업에 Set-TransportServer cmdlet를 사용합니다. 이 cmdlet를 사용하여 다음과 같이 Pickup 디렉터리 구성을 변경할 수 있습니다.

  • Pickup 디렉터리를 사용하거나 사용하지 않도록 설정합니다.

  • Pickup 디렉터리의 위치를 지정합니다.

  • Pickup 디렉터리에서 수락되는 메시지 파일의 최대 머리글 크기를 지정합니다.

  • Pickup 디렉터리에서 수락되는 메시지 파일의 최대 받는 사람 수를 지정합니다.

  • 최대 메시지 파일 처리 속도를 분당 메시지 개수로 지정합니다.

Pickup 디렉터리에서 메시지를 처리하는 방법

Pickup 디렉터리로 복사된 올바른 형식의 .eml 메시지 파일을 전송하기 위한 처리 단계는 다음과 같습니다.

  1. 5초마다 Pickup 디렉터리에 새로운 메시지 파일이 있는지 확인합니다. 이 폴링 간격은 수정할 수 없습니다. Set-TransportServer cmdlet에서 PickupDirectoryMaxMessagesPerMinute 매개 변수를 사용하여 메시지 파일 처리 속도를 조정할 수 있습니다. 기본값은 분당 100개의 메시지입니다. 열 수 없는 파일은 Pickup 디렉터리에 남아 있으며 다음 폴링에서 다시 평가됩니다.

  2. 머리글 최대 크기와 최대 받는 사람 수 등 Pickup 디렉터리의 메시지 파일에 대한 제한을 확인합니다. 기본적으로 머리글 최대 크기는 64KB이며 최대 받는 사람 수는 100명입니다. Set-TransportServer cmdlet를 사용하여 이러한 제한을 변경합니다.

  3. 파일 이름이 <filename>.eml에서 <filename>.tmp로 바뀝니다. *<filename>*tmp 파일이 이미 있는 경우 파일 이름이 <filename><datetime>.tmp로 바뀝니다. 파일 이름을 바꾸지 못하는 경우 이벤트 로그 오류가 생성되며 Pickup 프로세스는 다음 파일로 진행됩니다.

  4. .tmp 파일이 전자 메일 메시지로 변환된 후 "delete on close" 명령을 .tmp 파일에 실행합니다. .tmp 파일이 Pickup 디렉터리에 남아 있는 것으로 나타나지만 해당 파일을 다른 사용자가 열 수 없습니다.

  5. 배달할 메시지를 큐에 넣은 후 "close" 명령을 실행하여 .tmp 파일을 Pickup 디렉터리에서 삭제합니다. 삭제하지 못하는 경우 이벤트 로그 오류가 생성됩니다. Pickup 디렉터리에 .tmp 파일이 있으면 Microsoft Exchange 전송 서비스를 다시 시작하는 경우 모든 .tmp 파일의 이름이 .eml 파일로 바뀌고 다시 처리됩니다. 이로 인해 메시지 전송이 중복될 수 있습니다.

전자 메일 메시지 파일 분석

표준 SMTP 전자 메일 메시지는 메시지 봉투와 메시지 내용으로 구성됩니다. 메시지 봉투에는 메시지를 전송 및 배달하는 데 필요한 정보가 있습니다. 메시지 내용에는 메시지 머리글라고 하는 메시지 머리글 필드와 메시지 본문이 포함됩니다. 메시지 봉투는 RFC 2821에 설명되어 있고 메시지 머리글은 RFC 2822에 설명되어 있습니다.

보낸 사람이 전자 메일 메시지를 작성하여 배달하도록 전송하는 경우 메시지에는 보낸 사람, 받는 사람, 메시지가 작성된 날짜 및 시간, 옵션 제목 줄 및 옵션 메시지 본문 등 SMTP 표준을 준수하는 데 필요한 기본 정보가 포함됩니다. 이 정보는 메시지 자체에 포함되어 있으며 정의에 따라 메시지 머리글에 포함되어 있습니다. 보낸 사람의 메시징 서버에서 메시지 머리글에 있는 보낸 사람 및 받는 사람 정보를 사용하여 해당 메시지에 대한 메시지 봉투를 생성하고 받는 사람의 메시징 서버로 배달하기 위해 인터넷으로 메시지를 전송합니다. 메시지 봉투가 메시지 전송 프로세스에 의해 생성되며 실제로는 메시지에 포함되지 않기 때문에 받는 사람은 메시지 봉투를 볼 수 없습니다. 메시지 전송에 관련된 각 서버는 메시지를 배달하는 서버 역할과 관련된 메시지 머리글 필드나 다른 응용 프로그램 특정 메시지 머리글 필드를 메시지 머리글에 삽입할 수도 있습니다. 받는 사람이 전자 메일 클라이언트를 사용하여 메시지를 열면 전자 메일 클라이언트는 보낸 사람, 받는 사람 및 제목 등 보다 적합한 메시지 머리글 정보의 일부를 메시지 본문과 함께 표시합니다.

메시지 봉투와 메시지 머리글 간의 관계를 설명하려면 규모가 큰 회사에서 일반 우편물을 보내는 것과 비교하는 것이 가장 좋습니다. 편지의 맨 위 인사말에 회사 주소와 받는 사람 주소가 있는 공식적인 비즈니스 레터를 작성합니다. 이 편지를 처리하려면 회사의 우편물 보관실 직원에게 보냅니다. 우편물 보관실 직원은 편지에 있는 받는 사람 정보를 사용하여 봉투를 만들고, 봉투에 편지를 넣어 봉한 다음, 배달하도록 사서함에 넣습니다. 우체국에서는 봉투에 있는 주소에 따라 받는 사람의 회사로 봉투를 배달합니다. 받는 사람 회사의 우편물 보관실 직원은 봉투를 받아, 봉투에 씌여 있는 받는 사람을 확인한 다음, 봉투를 열어, 받는 사람의 개인 사서함에 편지를 놓습니다. 받는 사람이 개인 사서함에서 편지를 가져오면 인사말의 정보를 통해 편지를 작성한 사람과 편지를 받을 사람이 자신인지 알 수 있습니다.

Pickup 디렉터리의 메시지 파일 요구 사항

Pickup 디렉터리로 복사된 메시지 파일을 배달하기 위해 충족시켜야 하는 요구 사항은 다음과 같습니다.

  • 메시지 파일은 기본 SMTP 메시지 형식을 따르는 텍스트 파일이어야 합니다. MIME(Multipurpose Internet Mail Extensions) 메시지 머리글 필드와 내용이 지원됩니다.

  • 메시지 파일의 파일 이름 확장명은 .eml이어야 합니다.

  • 메시지 머리글의 Sender 또는 From: 메시지 머리글 필드에 전자 메일 주소가 한 개 이상 있어야 합니다. 단일 전자 메일 주소가 SenderFrom: 필드 모두에 있으면 From: 필드의 전자 메일 주소가 메시지 봉투에서 메시지를 보낸 사람으로 사용됩니다.

  • Sender 필드에는 하나의 전자 메일 주소만 있을 수 있습니다. 여러 전자 메일 주소를 사용할 수 없습니다. From: 필드에 하나의 전자 메일 주소만 있는 경우 보낸 사람 필드는 옵션입니다.

  • From: 필드에 여러 전자 메일 주소를 사용할 수 있지만 Sender 필드에 단일 전자 메일 주소 또한 있어야 합니다. 그러면 Sender 필드의 주소가 메시지 봉투에서 메시지를 보낸 사람으로 사용됩니다.

  • 전자 메일 주소가 한 개 이상 To:, Cc: 또는 Bcc: 필드에 있어야 합니다.

  • 메시지 머리글과 메시지 본문 사이에는 빈 줄이 있어야 합니다.

다음은 Pickup 디렉터리에 대해 적합한 형식을 사용하는 일반 텍스트 메시지의 예입니다.

To: mary@contoso.com
From: bob@fabrikam.com
Subject: Message subject

This is the body of the message.

MIME 콘텐츠도 Pickup 디렉터리 메시지 파일에서 지원됩니다. MIME는 7비트 ASCII 텍스트, HTML 및 기타 멀티미디어 콘텐츠로 나타낼 수 없는 언어를 포함하여 광범위한 메시지 내용을 정의합니다. MIME에 대한 자세한 정보과 해당 요구 사항은 이 항목의 범위를 벗어납니다. 다음은 Pickup 디렉터리에 적합한 형식을 사용하는 간단한 MIME 메시지의 예입니다.

To: mary@contoso.com
From: bob@fabrikam.com
Subject: Message subject
MIME-Version: 1.0
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: 7bit

<HTML><BODY>
<TABLE>
<TR><TD>cell 1</TD><TD>cell 2</TD></TR>
<TR><TD>cell 3</TD><TD>cell 4</TD></TR>
</TABLE>

</BODY></HTML>

Pickup 디렉터리의 메시지 파일에 만들어진 메시지 머리글에 대한 수정

Pickup 디렉터리는 메시지 머리글에서 다음 메시지 머리글 필드를 모두 제거합니다.

  • Received:

  • Resent-*:

  • Bcc: 메시지 머리글의 선택 항목인 Bcc: 메시지 머리글 필드에 있는 모든 전자 메일 주소가 제대로 처리됩니다. Bcc: 받는 사람을 볼 수 없는 메시지 봉투 받는 사람으로 올린 후 메시지 머리글에서 제거하여 해당 받는 사람의 ID를 보호합니다. 메시지에 Bcc: 받는 사람만 있는 경우 "알려지지 않은 수신인" 값이 메시지 머리글의 To: 필드에 추가됩니다.

Pickup 디렉터리는 메시지 전송 프로세스의 일부로 자체 Received: 헤더 필드를 메시지에 추가합니다. Received: 헤더 필드는 다음과 같은 형식으로 적용됩니다.

Received: from localhost by Pickup with Microsoft SMTP Server id <ExchangeServerVersion><datetime>

Pickup 디렉터리는 다음 메시지 머리글 필드가 누락되거나 잘못된 경우 해당 필드를 수정합니다.

  • Message-Id ``Message-Id 필드가 없거나 비어있는 경우 Pickup 디렉터리는 <GUID>@<defaultdomain> 형식을 사용하여 Message-Id 필드를 추가합니다.

  • Date: Pickup 디렉터리는 Date 필드가 없거나 잘못된 경우 Pickup 디렉터리의 메시지 처리 날짜 및 시간을 추가합니다.

Pickup 디렉터리 메시지 처리 실패

Pickup 디렉터리로 복사된 메시지 파일은 배달을 위한 큐에 넣지 못할 수도 있습니다. 발생할 수 있는 메시지 전송 오류 범주는 다음과 같습니다.

  • 배달 실패 Pickup 디렉터리에서 배달을 위해 전송하지 못한, 보낸 사람이 유효한 올바른 형식의 메시지 파일은 NDR(배달 실패 보고서)을 생성합니다. 잘못된 내용 또는 Pickup 디렉터리 메시지 제한 위반도 Pickup 디렉터리에서 NDR이 생성되게 할 수 있습니다. Pickup 디렉터리 메시지 처리 중 NDR이 생성되는 경우 원본 메시지 파일이 NDR 메시지에 첨부되고 Pickup 디렉터리에서 메시지 파일이 삭제됩니다.

    참고

    Pickup 디렉터리에서 전송된 올바른 형식의 메시지가 나중에 배달 실패로 NDR과 함께 보낸 사람에게 반환될 수 있습니다. 이러한 유형의 실패는 Pickup 디렉터리와 관련 없는 메시지 배달 경로에 따른 메시징 서버 오류나 라우팅 실패 등의 전송 문제로 인해 발생할 수 있습니다.

  • Badmail Badmail로 분류된 메시지는 Pickup 디렉터리에서 메시지를 배달하도록 전송하는 것을 방지하는 문제를 가지고 있습니다. Badmail을 발생시키는 다른 조건은 메시지의 형식은 올바르지만 받는 사람이 유효하지 않은 경우로 보내는 사람이 유효하지 않으므로 보내는 사람에게 NDR 메시지를 보낼 수 없습니다.

    Badmail로 결정된 메시지 파일은 Pickup 디렉터리에 남아 있으며 <filename>.eml에서 <filename>.bad로 이름이 바뀝니다. <filename>.bad 파일이 이미 있는 경우 해당 파일의 이름이 <filename><datetime>.bad로 바뀝니다. Pickup 디렉터리에 Badmail이 있는 경우 이벤트 로그 오류가 생성되지만 동일한 Badmail 메시지가 반복적인 이벤트 로그 오류를 생성하지는 않습니다.

참고

배달을 위해 메시지 파일을 Pickup 디렉터리에 복사하기 전에 항상 다른 위치에서 메시지 파일을 작성하고 저장하십시오. Pickup 디렉터리는 5초마다 새 메시지를 폴링합니다. 따라서 Pickup 디렉터리 자체에서 메시지 파일을 작성하고 저장하려는 경우 메시지 파일 작성을 마치기 전에 Pickup 디렉터리에서 메시지 파일을 처리하려 할 수 있습니다.

Pickup 디렉터리의 보안 문제

Exchange Server 2003은 텍스트 메시지 파일을 만들고 전송하기 위해 단일 Pickup 디렉터리를 사용합니다. Exchange 2007에서는 이 기능을 별도의 Pickup 디렉터리와 Replay 디렉터리로 분할합니다. Pickup 디렉터리는 새로운 메시지 파일을 수동으로 만드는 사용자나 응용 프로그램을 위한 것입니다. Replay 디렉터리는 내보낸 Exchange 전자 메일 메시지를 다시 전송하고 외부 게이트웨이 서버의 메시지를 받기 위한 것입니다.

다음 목록에는 Pickup 디렉터리 및 Replay 디렉터리에 대한 일반적인 보안 문제가 설명되어 있습니다.

  • 스팸 방지, 바이러스 백신, 보낸 사람 필터링 또는 받는 사람 필터링 작업 등 수신 커넥터에 구성된 모든 보안 검사가 Pickup 디렉터리 또는 Replay 디렉터리를 통해 전송되는 메시지에 대해서는 수행되지 않습니다.

  • 노출된 Pickup 디렉터리나 Replay 디렉터리는 오픈 릴레이로 작동할 수 있습니다. 이렇게 되면 실제 메시지 원본을 마스크하도록 다른 서버를 사용하여 메시지를 다시 전송하거나 "릴레이"할 수 있습니다.

Pickup 디렉터리 및 Replay 디렉터리의 구분은 각 디렉터리에 다른 보안 수준을 적용할 수 있다는 의미입니다. Replay 디렉터리와 관련된 추가 보안 위험으로 인해 Replay 디렉터리에는 더 강력한 보안이 적용되어야 합니다. 메시지를 생성하고 전송해야 하는 사용자나 응용 프로그램은 Pickup 디렉터리에 대한 액세스 권한을 부여받을 수 있으나 Replay 디렉터리에 대한 액세스는 필요하지 않습니다.

기본적으로 Pickup 디렉터리와 Replay 디렉터리는 둘 다 모든 허브 전송 서버와 Edge 전송 서버에서 사용하도록 설정되어 있습니다. Pickup 디렉터리나 Replay 디렉터리가 조직의 특정 허브 전송 서버나 Edge 전송 서버에서 필요하지 않으면 해당 서버에서 Pickup 디렉터리나 Replay 디렉터리를 사용하지 않도록 설정할 수 있습니다. 자세한 내용은 다음 항목을 참조하십시오.

Pickup 디렉터리의 사용 권한

Pickup 디렉터리에 다음 권한이 필요합니다.

  • 관리자: 모든 권한

  • 시스템: 모든 권한

  • 네트워크 서비스: 하위 폴더 및 파일의 읽기, 쓰기 및 삭제

기본적으로 Microsoft Exchange 전송 서비스는 네트워크 서비스 사용자 계정의 보안 자격 증명을 사용하여 Pickup 디렉터리의 위치 및 권한을 관리합니다. 네트워크 서비스 계정은 Pickup 디렉터리에서 이러한 권한이 있어야 .eml 파일을 열고, .tmp로 이름을 바꾸어 삭제하거나, 메시지가 Badmail로 분류되는 경우 .bad로 이름을 바꿀 수 있습니다.

Set-TransportServer cmdlet에서 PickupDirectoryPath 매개 변수를 사용하여 Pickup 디렉터리의 위치를 이동할 수 있습니다. Pickup 디렉터리의 위치 변경 성공은 새로운 Pickup 디렉터리 위치에서 네트워크 서비스 계정에 부여된 권한과 새로운 Pickup 디렉터리가 이미 존재하는지 여부에 따라 달라집니다. 새 Pickup 디렉터리가 아직 없고 네트워크 서비스 계정이 폴더를 만들고 새 위치에 권한을 적용하는 데 필요한 권한을 가지고 있는 경우 새 Pickup 디렉터리가 만들어지고 올바른 권한이 Pickup 디렉터리에 적용됩니다. 새 Pickup 디렉터리가 이미 있는 경우 기존 폴더 권한을 확인하지 않습니다. Set-TransportServer cmdlet를 통해 PickupDirectoryPath 매개 변수를 사용하여 Pickup 디렉터리를 이동할 때마다 새 Pickup 디렉터리가 있고 새 Pickup 디렉터리에 올바른 권한이 적용되었는지 항상 확인하는 것이 좋습니다. Pickup 디렉터리에 대한 변경을 실패한 경우 새 Pickup 디렉터리를 만들고 Set-TransportServer cmdlet를 통해 PickupDirectoryPath 매개 변수를 사용하기 전에 새 Pickup 디렉터리를 만들고 여기에 올바른 권한을 적용할 수 있습니다.

자세한 내용

자세한 내용은 다음 항목을 참조하십시오.