SmtpClient.ClientCertificates プロパティ


SSL (Secure Sockets Layer) 接続を確立するために使用する必要のある証明書を指定します。Specify which certificates should be used to establish the Secure Sockets Layer (SSL) connection.

 property System::Security::Cryptography::X509Certificates::X509CertificateCollection ^ ClientCertificates { System::Security::Cryptography::X509Certificates::X509CertificateCollection ^ get(); };
public System.Security.Cryptography.X509Certificates.X509CertificateCollection ClientCertificates { get; }
member this.ClientCertificates : System.Security.Cryptography.X509Certificates.X509CertificateCollection
Public ReadOnly Property ClientCertificates As X509CertificateCollection


1 つ以上のクライアント証明書を保持している X509CertificateCollectionAn X509CertificateCollection, holding one or more client certificates. 既定値は、構成ファイルのメール構成属性から派生します。The default value is derived from the mail configuration attributes in a configuration file.

次のコード例では、SMTP サーバーとの SSL 接続を確立し、その接続を使用して電子メールを送信します。The following code example establishes an SSL connection with the SMTP server and uses the connection to send an email.

public static void CreateTestMessage(string server)
    string to = "";
    string from = "";
    MailMessage message = new MailMessage(from, to);
    message.Subject = "Using the new SMTP client.";
    message.Body = @"Using this new feature, you can send an email message from an application very easily.";
    SmtpClient client = new SmtpClient(server);
    // Credentials are necessary if the server requires the client 
    // to authenticate before it will send email on the client's behalf.
    client.UseDefaultCredentials = true;
                client.EnableSsl = true;


クライアント証明書は、既定では省略可能です。ただし、サーバー構成では、クライアントが最初の接続ネゴシエーションの一部として有効な証明書を提示することが必要になる場合があります。Client certificates are, by default, optional; however, the server configuration might require that the client present a valid certificate as part of the initial connection negotiation.


フレームワークは、作成時に SSL セッションをキャッシュし、可能であれば、新しい要求に対してキャッシュされたセッションの再利用を試みます。The Framework caches SSL sessions as they are created and attempts to reuse a cached session for a new request, if possible. SSL セッションを再利用しようとすると、フレームワークは ClientCertificates の最初の要素 (存在する場合) を使用するか、ClientCertificates が空の場合は匿名セッションを再利用しようとします。When attempting to reuse an SSL session, the Framework uses the first element of ClientCertificates (if there is one), or tries to reuse an anonymous sessions if ClientCertificates is empty.