Elemento <network> (Configurações de rede)

Configura as opções de rede para um servidor SMTP (Simple Mail Transport Protocol) externo.

<configuration>
  <system.net>
    <mailSettings>
      <smtp>
        <Network>

Syntax

<network  
  clientDomain="string"
  defaultCredentials="true|false"  
  enableSsl="true|false"  
  host="string"
  password="string"  
  port="integer"
  targetName="string"  
  userName="string"  
/>  

Atributos e elementos

As seções a seguir descrevem atributos, elementos filho e elementos pai.

Atributos

Atributo Descrição
clientDomain Especifica o nome de domínio de cliente usado na solicitação de protocolo SMTP inicial para se conectar ao servidor de email SMTP. O valor padrão é o nome localhost do computador local que envia a solicitação.
defaultCredentials Especifica se as credenciais de usuário padrão devem ser usadas para acessar o servidor de email SMTP para transações SMTP. O valor padrão é false.
enableSsl Especifica se o SSL é usado para acessar um servidor de email SMTP. O valor padrão é false.
host Especifica o nome do host do servidor de email SMTP a ser usado para transações SMTP. Esse atributo não tem valor padrão.
password Especifica a senha a ser usada para autenticação no servidor de email SMTP. Esse atributo não tem valor padrão.
port Especifica o número da porta a ser usado para se conectar ao servidor de email SMTP. O valor padrão é 25.
targetName Especifica o SPN (Nome do Provedor de Serviços) a ser usado para autenticação ao usar a proteção estendida para transações SMTP. Esse atributo não tem valor padrão.
userName Especifica o nome de usuário a ser usado para autenticação no servidor de email SMTP. Esse atributo não tem valor padrão.

Elementos filho

Nenhum.

Elementos pai

Elemento Descrição
Elemento <smtp> (Configurações de Rede) Configura opções de envio de email SMTP (Simple Mail Transport Protocol).

Comentários

Alguns servidores SMTP exigem que você se autentique no servidor antes de usar. Se você quiser se autenticar usando as credenciais de rede padrão no host, defina o atributo defaultCredentials como true. A propriedade SmtpNetworkElement.DefaultCredentials pode ser usada para obter o valor atual do atributo defaultCredentials dos arquivos de configuração aplicáveis.

Você também pode usar a autenticação básica (um nome de usuário e senha) para se autenticar no servidor SMTP. Para usar essa opção, você deve especificar um nome de usuário válido e uma senha para o servidor SMTP especificado.

Observação

A autenticação básica envia os valores userName e password para o servidor não criptografados. Qualquer pessoa que monitore o tráfego de rede pode exibir suas credenciais e usá-las para se conectar ao servidor. Você deve considerar o uso de um mecanismo de autenticação mais seguro, como Kerberos ou NTLM (NTLM). Se defaultCredentials for true, Kerberos ou NTLM serão usados se o servidor der suporte a esses protocolos.

As opções básicas de autenticação e credenciais de rede padrão são mutuamente exclusivas; se você definir defaultCredentials para true e especificar um nome de usuário e senha, a credencial de rede padrão será usada e os dados básicos de autenticação serão ignorados.

Para autenticação básica se você especificar um userName, você também deverá especificar um password parra autenticação para o servidor de email.

A propriedade SmtpNetworkElement.UserName pode ser usada para obter o valor atual do atributo userName dos arquivos de configuração aplicáveis. A propriedade SmtpNetworkElement.Password pode ser usada para obter o valor atual do atributo password dos arquivos de configuração aplicáveis. Normalmente, um atributo password não seria inserido em arquivos de configuração por motivos de segurança.

O atributo clientDomain altera o nome de domínio de cliente usado na solicitação de protocolo SMTP inicial para um servidor SMTP. O atributo clientDomain pode ser definido como o nome de domínio totalmente qualificado do computador local, em vez do nome localhost usado por padrão. Isso fornece maior conformidade com os padrões de protocolo SMTP. O valor padrão é o nome localhost do computador local que envia a solicitação. A propriedade SmtpNetworkElement.ClientDomain pode ser usada para obter o valor atual do atributo clientDomain dos arquivos de configuração aplicáveis.

O atributo targetName é usado para autenticação ao usar a proteção estendida. O valor padrão é o do formulário "SMTPSVC/<host>" onde <host> é o nome do host do servidor de email SMTP. A propriedade SmtpNetworkElement.TargetName pode ser usada para obter o valor atual do atributo targetName dos arquivos de configuração aplicáveis.

O atributo enableSsl especifica se o SSL é usado para acessar um servidor de email SMTP. A classe System.Net.Mail.SmtpClient só dá suporte à Extensão de Serviço SMTP para SMTP Seguro sobre a Segurança da Camada de Transporte, conforme definido no RFC 3207. Nesse modo, a sessão SMTP começa em um canal não criptografado e, em seguida, um comando STARTTLS é emitido pelo cliente para o servidor para alternar para uma comunicação segura usando SSL. TConfira o RFC 3207 publicado pela IETF (Internet Engineering Task Force) para obter mais informações.

Um método de conexão alternativo é onde uma sessão SSL é estabelecida antecipadamente antes de qualquer comando de protocolo ser enviado. Esse método de conexão às vezes é chamado de SMTPS e, por padrão, usa a porta 465. No momento, não há suporte para esse método de conexão alternativo usando SSL.

A propriedade SmtpNetworkElement.EnableSsl pode ser usada para obter o valor atual do atributo enableSsl dos arquivos de configuração aplicáveis.

Exemplo

O exemplo a seguir especifica os parâmetros SMTP apropriados para enviar emails com o uso das credenciais de rede padrão.

<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>  

Confira também