<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 プロトコル要求に使用されるクライアントのドメイン名を指定します。 既定値は、要求が送信されるローカル コンピューターのローカルホスト名です。
defaultCredentials SMTP トランザクションのための SMTP メール サーバーへのアクセスに、既定のユーザー資格情報を使用するかどうかを指定します。 既定値は false です。
enableSsl SMTP メール サーバーへのアクセスに SSL を使用するかどうかを指定します。 既定値は false です。
host SMTP トランザクションに使用する SMTP メール サーバーのホスト名を指定します。 この属性には既定値はありません。
password SMTP メール サーバーへの認証に使用するパスワードを指定します。 この属性には既定値はありません。
port SMTP メール サーバーへの接続に使用するポート番号を指定します。 既定値は 25 です。
targetName SMTP トランザクションのために拡張保護を使用するときの認証に使用するサービス プロバイダー名 (SPN) を指定します。 この属性には既定値はありません。
userName SMTP メール サーバーへの認証に使用するユーザー名を指定します。 この属性には既定値はありません。

子要素

なし。

親要素

要素 説明
<smtp> 要素 (ネットワーク設定) 簡易メール転送プロトコル (SMTP) メール送信オプションを構成します。

解説

一部の SMTP サーバーでは、使用する前にサーバーに対して認証を行う必要があります。 ホストのネットワーク資格情報を使用して認証する場合は、defaultCredentials 属性を true に設定します。 SmtpNetworkElement.DefaultCredentials プロパティは、該当する構成ファイルから defaultCredentials 属性の現在の値を取得するために使用できます。

基本認証 (ユーザー名とパスワード) を使用して、SMTP サーバーに対して認証を行うこともできます。 このオプションを使用するには、指定した SMTP サーバーに対して有効なユーザー名とパスワードを指定する必要があります。

Note

基本認証では、userNamepassword の値を暗号化せずにサーバーに送信します。 ネットワーク トラフィックを監視しているすべてのユーザーは、自身の資格情報を確認し、それらを使用してサーバーに接続できます。 Kerberos 認証や NT LAN Manager (NTLM) などのより安全なセキュリティ認証メカニズムを使用することを検討してください。defaultCredentialstrue のとき、サーバーでサポートされている場合は、Kerberos または NTLM が使用されます。

基本認証と既定のネットワーク資格情報オプションは、同時には使用できません。defaultCredentialstrue に設定し、ユーザー名とパスワードを指定した場合は、既定のネットワーク資格情報が使用され、基本認証データは無視されます。

基本認証では、userName を指定する場合は、メール サーバーに対して認証が行われるように、password も指定する必要があります。

SmtpNetworkElement.UserName プロパティは、該当する構成ファイルから userName 属性の現在の値を取得するために使用できます。 SmtpNetworkElement.Password プロパティは、該当する構成ファイルから password 属性の現在の値を取得するために使用できます。 通常、セキュリティ上の理由から、password 属性が構成ファイルに入力されることはありません。

clientDomain 属性によって、SMTP サーバーへの最初の SMTP プロトコル要求に使用されるクライアントのドメイン名が変更されます。 clientDomain 属性を、既定で使用されるローカルホスト名ではなく、ローカル マシンの完全修飾ドメイン名に設定できます。 これにより、SMTP プロトコル標準への準拠が強化されます。 既定値は、要求が送信されるローカル コンピューターのローカルホスト名です。 SmtpNetworkElement.ClientDomain プロパティは、該当する構成ファイルから clientDomain 属性の現在の値を取得するために使用できます。

拡張保護を使用するときは、targetName 属性が認証に使用されます。 既定値は "SMTPSVC/<host>" の形式です。ここで、<host> は SMTP メール サーバーのホスト名です。 SmtpNetworkElement.TargetName プロパティは、該当する構成ファイルから targetName 属性の現在の値を取得するために使用できます。

enableSsl 属性によって、SMTP メール サーバーへのアクセスに SSL を使用するかどうかが指定されます。 System.Net.Mail.SmtpClient クラスでサポートされているのは、RFC 3207 で定義されている SMTP Service Extension for Secure SMTP over Transport Layer Security (トランスポート層セキュリティ経由の安全な SMTP のための SMTP サービス拡張) のみです。 このモードでは、暗号化されていないチャネルで SMTP セッションが始まり、その後クライアントからサーバーに STARTTLS コマンドが発行され、SSL を使用してセキュリティで保護された通信に切り替わります。 詳細については、インターネット技術標準化委員会 (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>  

関連項目