<network> 元素(网络设置)

为外部简单邮件传输协议 (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>

另请参阅