SmtpClient.Credentials プロパティ

定義

差出人の認証に使用する資格情報を取得または設定します。Gets or sets the credentials used to authenticate the sender.

public:
 property System::Net::ICredentialsByHost ^ Credentials { System::Net::ICredentialsByHost ^ get(); void set(System::Net::ICredentialsByHost ^ value); };
public System.Net.ICredentialsByHost Credentials { get; set; }
member this.Credentials : System.Net.ICredentialsByHost with get, set
Public Property Credentials As ICredentialsByHost

プロパティ値

認証に使用する資格情報を表す ICredentialsByHost。資格情報が指定されなかった場合は nullAn ICredentialsByHost that represents the credentials to use for authentication; or null if no credentials have been specified.

例外

電子メールが送信中の場合、このプロパティの値は変更できません。You cannot change the value of this property when an email is being sent.

次のコード例は、電子メールの送信に使用する資格情報を設定する方法を示しています。The following code example demonstrates setting the credentials used to send an email.

static void CreateTestMessage1( String^ server, int port )
{
   String^ to = L"jane@contoso.com";
   String^ from = L"ben@contoso.com";
   String^ subject = L"Using the new SMTP client.";
   String^ body = L"Using this new feature, you can send an email message from an application very easily.";
   MailMessage^ message = gcnew MailMessage( from,to,subject,body );
   SmtpClient^ client = gcnew SmtpClient( server,port );
   
   // Credentials are necessary if the server requires the client 
   // to authenticate before it will send email on the client's behalf.
   client->Credentials = CredentialCache::DefaultNetworkCredentials;
   
   //Display the properties on the service point.
   ServicePoint^ p = client->ServicePoint;
   Console::WriteLine( L"Connection lease timeout: {0}", p->ConnectionLeaseTimeout );
   client->Send( message );
   client->~SmtpClient();
}


public static void CreateTestMessage1(string server, int port)
{
    string to = "jane@contoso.com";
    string from = "ben@contoso.com";
    string subject = "Using the new SMTP client.";
    string body = @"Using this new feature, you can send an email message from an application very easily.";
    MailMessage message = new MailMessage(from, to, subject, body);
    SmtpClient client = new SmtpClient(server, port);
    // Credentials are necessary if the server requires the client
    // to authenticate before it will send email on the client's behalf.
    client.Credentials = CredentialCache.DefaultNetworkCredentials;
    client.Send(message);
}

注釈

一部の SMTP サーバーでは、サーバーが電子メールを送信する前に、クライアントを認証する必要があります。Some SMTP servers require that the client be authenticated before the server will send email on its behalf. 既定のネットワーク資格情報を使用するには、このプロパティを設定する代わりに、UseDefaultCredentialstrue に設定します。To use your default network credentials, you can set the UseDefaultCredentials to true instead of setting this property. UseDefaultCredentials プロパティが false, に設定されている場合、サーバーに接続するときに、Credentials プロパティで設定された値が資格情報に使用されます。If the UseDefaultCredentials property is set to false, then the value set in the Credentials property will be used for the credentials when connecting to the server. UseDefaultCredentials プロパティが false に設定されていて、Credentials プロパティが設定されていない場合、メールはサーバーに匿名で送信されます。If the UseDefaultCredentials property is set to false and the Credentials property has not been set, then mail is sent to the server anonymously.

資格情報は、アプリケーションおよびコンピューターの構成ファイルを使用して指定することもできます。Credentials information can also be specified using the application and machine configuration files. 詳細については、「 <mailsettings> 要素 (ネットワーク設定)」を参照してください。For more information, see <mailSettings> Element (Network Settings). Credentials プロパティを使用して情報を指定した場合、この情報は構成ファイルの設定よりも優先されます。If information is specified using the Credentials property, this information overrides the configuration file settings.

注意事項

基本認証の資格情報を指定した場合、資格情報はクリア テキストでサーバーに送信されます。If you provide credentials for basic authentication, they are sent to the server in clear text. これにより、資格情報が表示され、他のユーザーによって使用されるため、セキュリティ上の問題が発生する可能性があります。This can present a security issue because your credentials can be seen, and then used by others.

適用対象