定义 SMTP 传递通道
SMTP 传递通道使用 SMTP 传递协议来定义用于传递通知的 SMTP 服务器端点。如果使用实例承载的应用程序中内置的 SMTP 传递协议,则必须至少定义一个 SMTP 传递通道。
注意: |
---|
由于实现了由 Microsoft .NET Framework 使用的 SMTP,因此每个实例只能定义一个 SMTP 传递通道。如果定义两个 SMTP 传递通道,则通知可能会传递到错误的 SMTP 服务器上。 |
注意: |
---|
若要使用本地 Internet 信息服务 (IIS) SMTP 服务,请确保为 SmtpServer 参数指定一个值。否则,运行 NS$instanceName 服务所用的帐户必须为本地 Administrators 组的成员。 |
SMTP 传递通道属性
为 SMTP 传递协议定义传递通道时,必须在 ProtocolName 和 Arguments 元素中使用特定的值。以下列表说明了 SMTP 传递协议所需的元素和值:
- 传递通道名称在 Notification Services 实例中必须唯一,并且不能包含以下字符:左方括号 ([)、右方括号 (])、英文引号 (")、英文单引号 (')、反斜杠 (\) 和正斜杠 (/)。
- 协议名称必须是 SMTP。
- SMTP 传递协议使用两个参数:
- 为传递通道指定 SMTP 服务器。该参数名称必须是 SmtpServer。该值必须是 SMTP 服务器或转发服务器(如智能主机)的名称。如果使用转发服务器,则可避免本地电子邮件队列。
- 指定 SMTP 服务器所需的正文编码。该参数名称必须是 BodyEncoding。该值必须是有效的编码格式。Microsoft .NET Framework 中的 Encoding 类的 GetEncoding 方法返回的所有编码格式都是有效的(
us-ascii
、utf-7
、utf-8
、utf-16
和unicodeFFFE
)。
Unicode 数据通常使用值utf-8
。
注意: |
---|
不能在传递通道配置中指定 SMTP 服务器的连接信息(如名称和密码)。操作系统使用服务帐户来建立与 SMTP 服务器的连接。 |
示例
以下示例显示如何在实例配置文件 (ICF) 中定义 SMTP 传递通道。
SMTP 服务器
以下示例显示如何为内置 SMTP 传递协议定义传递通道。由于 SMTP 传递协议是内置的,因此无需在 ICF 的 Protocols 元素中有对应项。
<DeliveryChannels>
<DeliveryChannel>
<DeliveryChannelName>SMTPServer01</DeliveryChannelName>
<ProtocolName>SMTP</ProtocolName>
<Arguments>
<Argument>
<Name>SmtpServer</Name>
<Value>MailServer01</Value>
</Argument>
<Argument>
<Name>BodyEncoding</Name>
<Value>utf-16</Value>
</Argument>
</Arguments>
</DeliveryChannel>
</DeliveryChannels>
使用智能主机来中继消息
以下示例显示如何使用本地 IIS SMTP 服务及其本地主机选项来中继消息。首先配置本地 IIS SMTP 服务以中继消息,然后配置 SMTP 传递通道,如下所示。
<DeliveryChannel>
<DeliveryChannelName>EmailChannel</DeliveryChannelName>
<ProtocolName>SMTP</ProtocolName>
</DeliveryChannel>
有关配置 IIS SMTP 服务的详细信息,请参阅 Microsoft MSDN Library 中的 Using SMTP for Outgoing Messages。
请参阅
概念
其他资源
Instance Configuration File Templates
配置 Notification Services 实例