다음을 통해 공유


SMTP 배달 프로토콜

업데이트: 2006년 4월 14일

SMTP(Simple Mail Transfer Protocol) 배달 프로토콜은 Microsoft Exchange 또는 인터넷 정보 서비스(IIS)에 의해 제공되는 것과 같은 SMTP 서비스로 배달되는 알림 메시지를 만들고 라우팅합니다. SMTP 배달 프로토콜을 사용하여 특정 알림 클래스의 알림을 배달하려면 응용 프로그램 정의에서 SMTP 배달 프로토콜을 알림 클래스의 일부로 정의합니다.

ms172485.note(ko-kr,SQL.90).gif중요:
SMTP 서비스는 SMTP 배달 프로토콜을 사용하기 위해 필요하지만 Windows Vista에서 설치하지 않습니다. Windows Vista에서 SMTP 배달 프로토콜을 사용하려면 SMTP 서비스를 별도로 설치해야 합니다.

SMTP 배달 프로토콜 정의

프로토콜 정의는 모든 사용자 지정 필드에 대한 이름과 값으로 구성됩니다. SMTP 배달 프로토콜은 다음과 같은 값과 필드를 사용합니다.

  • ProtocolName 값(필수)은 SMTP여야 합니다.
  • 배달 프로토콜에 대해 다음 필드를 다음 순서대로 정의합니다.
    • Subject(필수)는 전자 메일에 표시되는 주제줄을 나타내는 표현을 지정합니다.
    • From(필수)은 전자 메일에 표시되는 보내는 전자 메일 주소를 지정합니다.
    • To(필수)는 대상 장치의 주소를 지정해야 합니다. 멀티캐스트 알림을 제공하는 알림 클래스에 대해서는 이 필드를 비워 둬야 합니다.
    • Priority(옵션)는 전자 메일 메시지 우선 순위를 지정합니다. Microsoft Exchange에서는 Low, Normal 또는 High 값을 사용할 수 있습니다. 지정된 값이 없으면 알림 우선 순위 기본값은 Normal입니다.
    • BodyFormat(옵션)은 콘텐츠 포맷터에서 제공하는 서식 중 알림 데이터에 대해 어떤 서식을 지정하는지에 따라 "text" 또는 "html" 값을 사용합니다. 지정된 값이 없으면 알림 서식 기본값은 text입니다.

Transact-SQL 구문에서 문자열 상수는 따옴표로 묶어야 합니다. 따라서 배달 프로토콜 필드에 문자열을 사용하는 경우 문자열 상수를 'myString'과 같이 작은따옴표로 묶어야 합니다. 또한 문자열이 유니코드인 경우에는 N'myString'과 같이 문자열 앞에 N을 입력해야 합니다.

SMTP 배달 프로토콜 정의 예

다음 예에서는 알림 클래스에 대해 SMTP 배달 프로토콜을 정의하는 방법을 보여 줍니다.

<Protocols>
    <Protocol>
        <ProtocolName>SMTP</ProtocolName>
        <Fields>
            <Field>
                <FieldName>Subject</FieldName>
                <SqlExpression>
                'The price of ' + StockSymbol
                + ' is now ' + StockPrice
                </SqlExpression>
            </Field>
            <Field>
                <FieldName>From</FieldName>
                <SqlExpression>
                N'stockquotes@microsoft.com'
                </SqlExpression>
            </Field>
            <Field>
                <FieldName>To</FieldName>
                <SqlExpression>DeviceAddress</SqlExpression>
            </Field>
            <Field>
                <FieldName>Priority</FieldName>
                <SqlExpression>N'Normal'</SqlExpression>
            </Field>
            <Field>
                <FieldName>BodyFormat</FieldName>
                <SqlExpression>N'html'</SqlExpression>
            </Field>
            <Field>
        </Fields>
        <ProtocolExecutionSettings>
            ...
        </ProtocolExecutionSettings>
    </Protocol>
</Protocols>

이 예에서 모든 필드가 Transact-SQL 식을 사용하여 해당 값을 가져옵니다.

  • Subject 필드는 문자열과 알림 필드 참조(StockSymbolStockPrice)를 조합하여 각 알림의 제목 줄을 사용자 지정합니다.
  • To 필드는 구독자 장치에 대한 DeviceAddress 필드에서 해당 값을 가져 옵니다. 사용 가능한 필드 목록을 보려면 SqlExpression Element for Protocol/Fields/Field (ADF)를 참조하십시오.
  • From, PriorityBodyFormat 필드는 배달 프로토콜을 사용하여 보낸 모든 알림에 대해 일치하는 문자열입니다.

필드는 알림 필드에서 직접 해당 값을 가져올 수도 있습니다. 자세한 내용은 FieldReference Element (ADF)를 참조하십시오.

SMTP 배달 프로토콜에 대한 배달 채널 정의

SMTP 배달 프로토콜을 사용하여 알림을 배포하려면 SMTP 배달 프로토콜을 사용하는 배달 채널도 정의해야 합니다. 여러 응용 프로그램에 있는 여러 알림 클래스는 동일한 SMTP 배달 채널을 사용할 수 있습니다.

ms172485.note(ko-kr,SQL.90).gif중요:
Microsoft .NET Framework에서 사용하는 SMTP 구현으로 인해 SMTP 배달 프로토콜을 사용하여 인스턴스당 하나의 SMTP 배달 채널만 정의할 수 있습니다. 두 개의 SMTP 배달 채널을 정의하면 알림이 잘못된 SMTP 서버로 이동할 수 있습니다.

자세한 내용은 SMTP 배달 채널 정의를 참조하십시오.

참고 항목

개념

File 배달 프로토콜
사용자 지정 배달 프로토콜 개발

관련 자료

배달 프로토콜 구성
알림 클래스 정의
Protocol Element (ADF)

도움말 및 정보

SQL Server 2005 지원 받기

변경 내역

릴리스 내역

2006년 4월 14일

새로운 내용
  • SMTP 서비스가 Windows Vista와 함께 설치되지 않는다는 정보를 추가했습니다.
  • 예제 코드에 대한 설명을 추가했습니다.