SmtpClient.Dispose メソッド

定義

QUIT メッセージを SMTP サーバーに送信し、TCP 接続を適切に終了して、SmtpClient クラスの現在のインスタンスで使用されているすべてのリソースを解放します。Sends a QUIT message to the SMTP server, gracefully ends the TCP connection, and releases all resources used by the current instance of the SmtpClient class.

オーバーロード

Dispose()

QUIT メッセージを SMTP サーバーに送信し、TCP 接続を適切に終了して、SmtpClient クラスの現在のインスタンスで使用されているすべてのリソースを解放します。Sends a QUIT message to the SMTP server, gracefully ends the TCP connection, and releases all resources used by the current instance of the SmtpClient class.

Dispose(Boolean)

QUIT メッセージを SMTP サーバーに送信し、TCP 接続を適切に終了して、SmtpClient クラスの現在のインスタンスで使用されているすべてのリソースを解放します。オプションでマネージド リソースも破棄します。Sends a QUIT message to the SMTP server, gracefully ends the TCP connection, releases all resources used by the current instance of the SmtpClient class, and optionally disposes of the managed resources.

注釈

アプリケーションが同じ SMTP サーバーに複数のメッセージを送信する場合は、SmtpClient クラスの現在のインスタンスによって確立された接続を SMTP サーバーに再利用できます。The connection established by the current instance of the SmtpClient class to the SMTP server may be re-used if an application wishes to send multiple messages to the same SMTP server. これは、認証または暗号化を使用して SMTP サーバーへの接続を確立する場合に特に便利です。This is particularly useful when authentication or encryption are used establish a connection to the SMTP server. TLS セッションの認証と確立のプロセスは、コストのかかる操作になることがあります。The process of authenticating and establishing a TLS session can be expensive operations. 多数の電子メールを同じ SMTP サーバーに送信するときに、各メッセージの接続を再確立する必要があることが、パフォーマンスに大きな影響を与える可能性があります。A requirement to re-establish a connection for each message when sending a large quantity of email to the same SMTP server could have a significant impact on performance. 電子メールの状態の更新、ニュースレターの配布、または電子メールのアラートを送信する大量の電子メールアプリケーションがあります。There are a number of high-volume email applications that send email status updates, newsletter distributions, or email alerts. また、多くの電子メールクライアントアプリケーションはオフラインモードをサポートしています。このモードでは、SMTP サーバーへの接続が確立されたときに、後で送信される多くの電子メールメッセージをユーザーが構成できます。Also many email client applications support an off-line mode where users can compose many email messages that are sent later when a connection to the SMTP server is established. 通常は、電子メールクライアントがすべての SMTP メッセージを (インターネットサービスプロバイダーによって提供される) 特定の SMTP サーバーに送信し、その後、この電子メールを他の SMTP サーバーに転送します。It is typical for an email client to send all SMTP messages to a specific SMTP server (provided by the Internet service provider) that then forwards this email to other SMTP servers.

SmtpClient クラス実装は、すべてのメッセージの接続を同じサーバーに再確立するオーバーヘッドを回避できるように、SMTP 接続をプールします。The SmtpClient class implementation pools SMTP connections so that it can avoid the overhead of re-establishing a connection for every message to the same server. アプリケーションは同じ SmtpClient オブジェクトを再利用して、同じ SMTP サーバーおよびさまざまな SMTP サーバーに多数の異なる電子メールを送信できます。An application may re-use the same SmtpClient object to send many different emails to the same SMTP server and to many different SMTP servers. そのため、SmtpClient オブジェクトを使用してアプリケーションが終了したことを確認する方法はなく、クリーンアップする必要があります。As a result, there is no way to determine when an application is finished using the SmtpClient object and it should be cleaned up.

SMTP セッションが完了し、クライアントが接続を終了する場合は、送信するメッセージがなくなったことを示すために、サーバーに終了メッセージを送信する必要があります。When an SMTP session is finished and the client wishes to terminate the connection, it must send a QUIT message to the server to indicate that it has no more messages to send. これにより、サーバーは、クライアントからの接続に関連付けられたリソースを解放し、クライアントから送信されたメッセージを処理することができます。This allows the server to free up resources associated with the connection from the client and process the messages which were sent by the client.

Dispose メソッドは、確立されたすべての接続を反復処理し、各 SMTP サーバーに終了メッセージを送信した後、TCP 接続を正常に終了します。The Dispose methods iterates through all established connections and send a QUIT message to each SMTP server, followed by gracefully ending the TCP connection. また、これらのメソッドは、Socket によって使用されているアンマネージリソースを解放し、必要に応じてマネージリソースを破棄します。These methods also release the unmanaged resources used by the Socket and optionally dispose of the managed resources.

Dispose()

QUIT メッセージを SMTP サーバーに送信し、TCP 接続を適切に終了して、SmtpClient クラスの現在のインスタンスで使用されているすべてのリソースを解放します。Sends a QUIT message to the SMTP server, gracefully ends the TCP connection, and releases all resources used by the current instance of the SmtpClient class.

public:
 virtual void Dispose();
public void Dispose ();
abstract member Dispose : unit -> unit
override this.Dispose : unit -> unit
Public Sub Dispose ()

実装

注釈

アプリケーションが同じ SMTP サーバーに複数のメッセージを送信する場合は、SmtpClient クラスの現在のインスタンスによって確立された接続を SMTP サーバーに再利用できます。The connection established by the current instance of the SmtpClient class to the SMTP server may be re-used if an application wishes to send multiple messages to the same SMTP server. これは、認証または暗号化を使用して SMTP サーバーへの接続を確立する場合に特に便利です。This is particularly useful when authentication or encryption are used establish a connection to the SMTP server. TLS セッションの認証と確立のプロセスは、コストのかかる操作になることがあります。The process of authenticating and establishing a TLS session can be expensive operations. 多数の電子メールを同じ SMTP サーバーに送信するときに、各メッセージの接続を再確立する必要があることが、パフォーマンスに大きな影響を与える可能性があります。A requirement to re-establish a connection for each message when sending a large quantity of email to the same SMTP server could have a significant impact on performance. 電子メールの状態の更新、ニュースレターの配布、または電子メールのアラートを送信する大量の電子メールアプリケーションがあります。There are a number of high-volume email applications that send email status updates, newsletter distributions, or email alerts. また、多くの電子メールクライアントアプリケーションはオフラインモードをサポートしています。このモードでは、SMTP サーバーへの接続が確立されたときに、後で送信される多くの電子メールメッセージをユーザーが構成できます。Also many email client applications support an off-line mode where users can compose many email messages that are sent later when a connection to the SMTP server is established. 通常は、電子メールクライアントがすべての SMTP メッセージを (インターネットサービスプロバイダーによって提供される) 特定の SMTP サーバーに送信し、その後、この電子メールを他の SMTP サーバーに転送します。It is typical for an email client to send all SMTP messages to a specific SMTP server (provided by the Internet service provider) that then forwards this email to other SMTP servers.

SmtpClient クラス実装は、すべてのメッセージの接続を同じサーバーに再確立するオーバーヘッドを回避できるように、SMTP 接続をプールします。The SmtpClient class implementation pools SMTP connections so that it can avoid the overhead of re-establishing a connection for every message to the same server. アプリケーションは同じ SmtpClient オブジェクトを再利用して、同じ SMTP サーバーおよびさまざまな SMTP サーバーに多数の異なる電子メールを送信できます。An application may re-use the same SmtpClient object to send many different emails to the same SMTP server and to many different SMTP servers. そのため、SmtpClient オブジェクトを使用してアプリケーションが終了したことを確認する方法はなく、クリーンアップする必要があります。As a result, there is no way to determine when an application is finished using the SmtpClient object and it should be cleaned up.

SMTP セッションが完了し、クライアントが接続を終了する場合は、送信するメッセージがなくなったことを示すために、サーバーに終了メッセージを送信する必要があります。When an SMTP session is finished and the client wishes to terminate the connection, it must send a QUIT message to the server to indicate that it has no more messages to send. これにより、サーバーは、クライアントからの接続に関連付けられたリソースを解放し、クライアントから送信されたメッセージを処理することができます。This allows the server to free up resources associated with the connection from the client and process the messages which were sent by the client.

非同期 SendAsync 操作を実行している SmtpClient オブジェクトで Dispose メソッドを呼び出すと、SendAsyncCancel メソッドが呼び出されたかのように送信操作が取り消されます。Calling the Dispose method on a SmtpClient object that is executing an asynchronous SendAsync operation will cancel the send operation as though the SendAsyncCancel method had been called.

SmtpClient クラスには、Finalize メソッドがありません。The SmtpClient class has no Finalize method. そのため、アプリケーションは、リソースを明示的に解放するために Dispose を呼び出す必要があります。So an application must call Dispose to explicitly free up resources.

Dispose メソッドは、Host プロパティで指定された SMTP サーバーに対して確立されたすべての接続を反復処理し、終了メッセージを送信した後、TCP 接続を適切に終了します。The Dispose method iterates through all established connections to the SMTP server specified in the Host property and sends a QUIT message followed by gracefully ending the TCP connection. Dispose メソッドは、基になる Socketによって使用されているアンマネージリソースも解放します。The Dispose method also releases the unmanaged resources used by the underlying Socket.

Dispose を使い終わったら、SmtpClientを呼び出します。Call Dispose when you are finished using the SmtpClient. Disposeメソッドによって、SmtpClient は使用不可の状態になります。The Dispose method leaves the SmtpClient in an unusable state. Dispose呼び出し後は、SmtpClientによって占有されていたメモリをガベージ コレクターがクリアできるよう、SmtpClient へのすべての参照を解放する必要があります。After calling Dispose, you must release all references to the SmtpClient so the garbage collector can reclaim the memory that the SmtpClient was occupying.

詳細については、アンマネージ リソースのクリーンアップおよびDispose メソッドの実装を参照してください。For more information, see Cleaning Up Unmanaged Resources and Implementing a Dispose Method.

注意

Disposeへの最後の参照を解放する前に、必ずSmtpClientを呼び出してください。Always call Dispose before you release your last reference to the SmtpClient. それ以外の場合、ガベージコレクターがメモリを再利用できるように、使用しているリソースは解放されません。Otherwise, the resources it is using will not be freed so the garbage collector can reclaim the memory.

Dispose(Boolean)

QUIT メッセージを SMTP サーバーに送信し、TCP 接続を適切に終了して、SmtpClient クラスの現在のインスタンスで使用されているすべてのリソースを解放します。オプションでマネージド リソースも破棄します。Sends a QUIT message to the SMTP server, gracefully ends the TCP connection, releases all resources used by the current instance of the SmtpClient class, and optionally disposes of the managed resources.

protected:
 virtual void Dispose(bool disposing);
protected virtual void Dispose (bool disposing);
abstract member Dispose : bool -> unit
override this.Dispose : bool -> unit
Protected Overridable Sub Dispose (disposing As Boolean)

パラメーター

disposing
Boolean

マネージド リソースとアンマネージド リソースの両方を解放する場合は true。アンマネージド リソースだけを解放する場合は falsetrue to release both managed and unmanaged resources; false to releases only unmanaged resources.

注釈

アプリケーションが同じ SMTP サーバーに複数のメッセージを送信する場合は、SmtpClient クラスの現在のインスタンスによって確立された接続を SMTP サーバーに再利用できます。The connection established by the current instance of the SmtpClient class to the SMTP server may be re-used if an application wishes to send multiple messages to the same SMTP server. これは、認証または暗号化を使用して SMTP サーバーへの接続を確立する場合に特に便利です。This is particularly useful when authentication or encryption are used establish a connection to the SMTP server. TLS セッションの認証と確立のプロセスは、コストのかかる操作になることがあります。The process of authenticating and establishing a TLS session can be expensive operations. 多数の電子メールを同じ SMTP サーバーに送信するときに、各メッセージの接続を再確立する必要があることが、パフォーマンスに大きな影響を与える可能性があります。A requirement to re-establish a connection for each message when sending a large quantity of email to the same SMTP server could have a significant impact on performance. 電子メールの状態の更新、ニュースレターの配布、または電子メールのアラートを送信する大量の電子メールアプリケーションがあります。There are a number of high-volume email applications that send email status updates, newsletter distributions, or email alerts. また、多くの電子メールクライアントアプリケーションはオフラインモードをサポートしています。このモードでは、SMTP サーバーへの接続が確立されたときに、後で送信される多くの電子メールメッセージをユーザーが構成できます。Also many email client applications support an off-line mode where users can compose many email messages that are sent later when a connection to the SMTP server is established. 通常は、電子メールクライアントがすべての SMTP メッセージを (インターネットサービスプロバイダーによって提供される) 特定の SMTP サーバーに送信し、その後、この電子メールを他の SMTP サーバーに転送します。It is typical for an email client to send all SMTP messages to a specific SMTP server (provided by the Internet service provider) that then forwards this email to other SMTP servers.

SmtpClient クラス実装は、すべてのメッセージの接続を同じサーバーに再確立するオーバーヘッドを回避できるように、SMTP 接続をプールします。The SmtpClient class implementation pools SMTP connections so that it can avoid the overhead of re-establishing a connection for every message to the same server. アプリケーションは同じ SmtpClient オブジェクトを再利用して、同じ SMTP サーバーおよびさまざまな SMTP サーバーに多数の異なる電子メールを送信できます。An application may re-use the same SmtpClient object to send many different emails to the same SMTP server and to many different SMTP servers. そのため、SmtpClient オブジェクトを使用してアプリケーションが終了したことを確認する方法はなく、クリーンアップする必要があります。As a result, there is no way to determine when an application is finished using the SmtpClient object and it should be cleaned up.

SMTP セッションが完了し、クライアントが接続を終了する場合は、送信するメッセージがなくなったことを示すために、サーバーに終了メッセージを送信する必要があります。When an SMTP session is finished and the client wishes to terminate the connection, it must send a QUIT message to the server to indicate that it has no more messages to send. これにより、サーバーは、クライアントからの接続に関連付けられたリソースを解放し、クライアントから送信されたメッセージを処理することができます。This allows the server to free up resources associated with the connection from the client and process the messages which were sent by the client.

非同期 SendAsync 操作を実行している SmtpClient オブジェクトで Dispose メソッドを呼び出すと、SendAsyncCancel メソッドが呼び出されたかのように送信操作が取り消されます。Calling the Dispose method on a SmtpClient object that is executing an asynchronous SendAsync operation will cancel the send operation as though the SendAsyncCancel method had been called.

SmtpClient クラスには、Finalize メソッドがありません。The SmtpClient class has no Finalize method. そのため、アプリケーションは、リソースを明示的に解放するために Dispose を呼び出す必要があります。So an application must call Dispose to explicitly free up resources.

Dispose メソッドは、Host プロパティで指定された SMTP サーバーに対して確立されたすべての接続を反復処理し、終了メッセージを送信した後、TCP 接続を適切に終了します。The Dispose method iterates through all established connections to the SMTP server specified in the Host property and sends a QUIT message followed by gracefully ending the TCP connection. Dispose メソッドは、Socket によって使用されているアンマネージリソースも解放し、オプションでマネージリソースも破棄します。The Dispose method also releases the unmanaged resources used by the Socket and optionally disposes of the managed resources.

Dispose を使い終わったら、SmtpClientを呼び出します。Call Dispose when you are finished using the SmtpClient. Disposeメソッドによって、SmtpClient は使用不可の状態になります。The Dispose method leaves the SmtpClient in an unusable state. Dispose呼び出し後は、SmtpClientによって占有されていたメモリをガベージ コレクターがクリアできるよう、SmtpClient へのすべての参照を解放する必要があります。After calling Dispose, you must release all references to the SmtpClient so the garbage collector can reclaim the memory that the SmtpClient was occupying.

詳細については、アンマネージ リソースのクリーンアップおよびDispose メソッドの実装を参照してください。For more information, see Cleaning Up Unmanaged Resources and Implementing a Dispose Method.

注意

Disposeへの最後の参照を解放する前に、必ずSmtpClientを呼び出してください。Always call Dispose before you release your last reference to the SmtpClient. それ以外の場合、ガベージコレクターがメモリを再利用できるように、使用しているリソースは解放されません。Otherwise, the resources it is using will not be freed so the garbage collector can reclaim the memory.

適用対象