为外部简单邮件传输协议 (SMTP) 服务器配置网络选项。
<配置>
<system.net>
<mailSettings>
<smtp>
<网络>
Syntax
<network
clientDomain="string"
defaultCredentials="true|false"
enableSsl="true|false"
host="string"
password="string"
port="integer"
targetName="string"
userName="string"
/>
特性和元素
下列各节描述了特性、子元素和父元素。
特性
| Attribute | Description |
|---|---|
clientDomain |
指定要在初始 SMTP 协议请求中使用的客户端域名,以连接到 SMTP 邮件服务器。 默认值是发送请求的本地计算机的 localhost 名称。 |
defaultCredentials |
指定是否应使用默认用户凭据访问 SMTP 邮件服务器进行 SMTP 事务。 默认值为 false。 |
enableSsl |
指定是否使用 SSL 访问 SMTP 邮件服务器。 默认值为 false。 |
host |
指定要用于 SMTP 事务的 SMTP 邮件服务器的主机名。 此属性没有默认值。 |
password |
指定要用于对 SMTP 邮件服务器进行身份验证的密码。 此属性没有默认值。 |
port |
指定用于连接到 SMTP 邮件服务器的端口号。 默认值为 25。 |
targetName |
指定在对 SMTP 事务使用扩展保护时用于身份验证的服务提供程序名称(SPN)。 此属性没有默认值。 |
userName |
指定要用于对 SMTP 邮件服务器进行身份验证的用户名。 此属性没有默认值。 |
子元素
没有。
父元素
| 元素 | Description |
|---|---|
| <smtp> 元素 (网络设置) | 配置简单邮件传输协议(SMTP)邮件发送选项。 |
注解
某些 SMTP 服务器要求在使用前自行向服务器进行身份验证。 如果要在主机上使用默认网络凭据自行进行身份验证,请将 defaultCredentials 属性设置为 true。 该 SmtpNetworkElement.DefaultCredentials 属性可用于从适用的配置文件中获取属性的 defaultCredentials 当前值。
还可以使用基本身份验证(用户名和密码)向 SMTP 服务器进行身份验证。 若要使用此选项,必须为指定的 SMTP 服务器指定有效的用户名和密码。
注释
基本身份验证将和password值发送到userName未加密的服务器。 监视网络流量的任何人都可以查看凭据,并使用它们连接到服务器。 应考虑使用更安全的身份验证机制,例如 Kerberos 或 NT LAN 管理器(NTLM)。true如果是defaultCredentials,则服务器支持这些协议时,将使用 Kerberos 或 NTLM。
基本身份验证和默认网络凭据选项互斥;如果设置为defaultCredentialstrue并指定用户名和密码,则使用默认网络凭据,并忽略基本身份验证数据。
若要进行基本身份验证(如果指定了身份验证) userName,还应指定向 password 邮件服务器自行进行身份验证。
该 SmtpNetworkElement.UserName 属性可用于从适用的配置文件中获取属性的 userName 当前值。 该 SmtpNetworkElement.Password 属性可用于从适用的配置文件中获取属性的 password 当前值。 出于 password 安全原因,通常不会在配置文件中输入属性。
该 clientDomain 属性将初始 SMTP 协议请求中使用的客户端域名更改为 SMTP 服务器。 该 clientDomain 属性可以设置为本地计算机的完全限定域名,而不是默认使用的 localhost 名称。 这更符合 SMTP 协议标准。 默认值是发送请求的本地计算机的 localhost 名称。 该 SmtpNetworkElement.ClientDomain 属性可用于从适用的配置文件中获取属性的 clientDomain 当前值。
使用扩展保护时,该 targetName 属性用于身份验证。 默认值为“SMTPSVC/<host>”格式,其中是 <host> SMTP 邮件服务器的主机名。 该 SmtpNetworkElement.TargetName 属性可用于从适用的配置文件中获取属性的 targetName 当前值。
该 enableSsl 属性指定是否使用 SSL 访问 SMTP 邮件服务器。 该 System.Net.Mail.SmtpClient 类仅支持 RFC 3207 中定义的用于通过传输层安全性保护 SMTP 的 SMTP 服务扩展。 在此模式下,SMTP 会话从未加密的通道开始,然后客户端向服务器发出 STARTTLS 命令,以使用 SSL 切换到安全通信。 有关详细信息,请参阅 Internet 工程工作队 (IETF) 发布的 RFC 3207。
备用连接方法是在发送任何协议命令之前先建立 SSL 会话。 此连接方法有时称为 SMTPS,默认情况下使用端口 465。 目前不支持使用此 SSL 的备用连接方法。
该 SmtpNetworkElement.EnableSsl 属性可用于从适用的配置文件中获取属性的 enableSsl 当前值。
Example
以下示例指定使用默认网络凭据发送电子邮件的相应 SMTP 参数。
<configuration>
<system.net>
<mailSettings>
<smtp deliveryMethod="Network">
<network
clientDomain="www.contoso.com"
defaultCredentials="true"
enableSsl="false"
host="mail.contoso.com"
port="25"
/>
</smtp>
</mailSettings>
</system.net>
</configuration>