<network> 元素(网络设置)
为外部简单邮件传输协议 (SMTP) 服务器配置网络选项。
configuration
<system.net>
<mailSettings>
<smtp>
<network>
语法
<network
clientDomain="string"
defaultCredentials="true|false"
enableSsl="true|false"
host="string"
password="string"
port="integer"
targetName="string"
userName="string"
/>
特性和元素
下列各节描述了特性、子元素和父元素。
特性
属性 | 说明 |
---|---|
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 邮件服务器进行身份验证的用户名。 此属性没有默认值。 |
子元素
无。
父元素
元素 | 说明 |
---|---|
<smtp> 元素(网络设置) | 配置简单邮件传输协议 (SMTP) 邮件发送选项。 |
备注
某些 SMTP 服务器要求你在使用服务器之前先向其验证你自己的身份。 若要使用主机上的默认网络凭据对验证自己的自己,请将 defaultCredentials
属性设置为 true
。 SmtpNetworkElement.DefaultCredentials 属性可用于从适用的配置文件中获取 defaultCredentials
属性的当前值。
还可以使用基本身份验证(用户名和密码)向 SMTP 服务器验证你自己的身份。 若要使用此选项,必须为指定的 SMTP 服务器指定有效的用户名和密码。
注意
基本身份验证将未加密的 userName
和 password
值发送到服务器。 监视网络流量的任何人都可以查看你的凭据并使用它们连接到服务器。 应考虑使用更安全的身份验证机制,例如 Kerberos 或 NT LAN Manager (NTLM)。如果 defaultCredentials
为 true
,当服务器支持这些协议时,将使用 Kerberos 或 NTLM。
基本身份验证和默认网络凭据选项是互斥的;如果将 defaultCredentials
设置为 true
并指定用户名和密码,则会使用默认网络凭据,并忽略基本身份验证数据。
对于基本身份验证,如果指定 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
属性的当前值。
示例
以下示例指定了相应的 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>