SmtpClient.Send メソッド

定義

電子メール メッセージを、配信用 SMTP サーバーに送信します。 これらのメソッドは、メッセージの送信中はブロックします。

オーバーロード

Send(MailMessage)

指定したメッセージを、配信用 SMTP サーバーに送信します。

Send(String, String, String, String)

指定した電子メール メッセージを、配信用 SMTP サーバーに送信します。 メッセージの差出人、受信者、件名、およびメッセージ本文は、String オブジェクトを使用して指定されます。

Send(MailMessage)

指定したメッセージを、配信用 SMTP サーバーに送信します。

public:
 void Send(System::Net::Mail::MailMessage ^ message);
public void Send (System.Net.Mail.MailMessage message);
member this.Send : System.Net.Mail.MailMessage -> unit
Public Sub Send (message As MailMessage)

パラメーター

message
MailMessage

送信するメッセージを格納した MailMessage

例外

messagenullです。

これには SmtpClient 、既に別の送信操作が進行中です。

または

Fromnull です。

- または -

ToCC、および Bcc の各プロパティで受信者が指定されていません。

- または -

DeliveryMethod プロパティは Network に設定され、Hostnull です。

- または -

DeliveryMethod プロパティは Network に設定され、Host は空の文字列 ("") と等しくなります。

- または -

DeliveryMethod プロパティが Network に設定され、Port がゼロ、負の値、または 65,535 より大きい値になっています。

このオブジェクトは破棄されました。

SMTP サーバーへの接続に失敗しました。

- または -

認証に失敗しました。

- または -

操作はタイムアウトしました。

- または -

EnableSsltrue に設定されますが、DeliveryMethod プロパティは SpecifiedPickupDirectory または PickupDirectoryFromIis に設定されます。

- または -

EnableSsltrue, に設定されていますが、SMTP メール サーバーが EHLO コマンドに対する応答で STARTTLS をアドバタイズしませんでした。

ToCC、または Bcc 内の 1 人の受信者に、message を配信できませんでした。

ToCC、または Bcc 内の複数の受信者に、message を配信できませんでした。

次のコード例では、このメソッドの使用方法を示します。

static void CreateTestMessage2( String^ server )
{
   String^ to = L"jane@contoso.com";
   String^ from = L"ben@contoso.com";
   MailMessage^ message = gcnew MailMessage( from,to );
   message->Subject = L"Using the new SMTP client.";
   message->Body = L"Using this new feature, you can send an email message from an application very easily.";
   SmtpClient^ client = gcnew 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->Send( message );
   client->~SmtpClient();
}
public static void CreateTestMessage2(string server)
{
    string to = "jane@contoso.com";
    string from = "ben@contoso.com";
    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;

    try
    {
        client.Send(message);
    }
    catch (Exception ex)
    {
        Console.WriteLine("Exception caught in CreateTestMessage2(): {0}",
            ex.ToString());
    }
}

注釈

このメソッドは、電子メールの送信中にブロックします。 タイムアウト値を指定するには、 プロパティを使用して、 Timeout 指定した時間が経過した後にメソッドが確実に返されるようにします。

このメソッドを呼び出す前に Host 、 プロパティと Port プロパティを設定するには、関連するプロパティを設定するか、この情報をコンストラクターに SmtpClient(String, Int32) 渡します。

非同期に送信されるメッセージがある場合は、このメソッドを呼び出すことはできません。

SMTP ホストに資格情報が必要な場合は、このメソッドを呼び出す前に設定する必要があります。 資格情報を指定するには、 または Credentials プロパティを使用しますUseDefaultCredentials

例外が発生したSmtpException場合は、 プロパティをStatusCodeチェックして、操作が失敗した理由を見つけます。 SmtpExceptionには、操作が失敗した理由を示す内部例外を含めることもできます。

を使用して複数の受信者に電子メールを Send 送信し、SMTP サーバーが一部の受信者を有効として受け入れ、他の受信者を拒否する場合は、 Send 受け入れられた受信者に電子メールを送信し SmtpFailedRecipientsException 、 がスローされます (または SmtpFailedRecipientException 、1 人の受信者のみが拒否された場合は )。 には SmtpFailedRecipientsException 、拒否された受信者の一覧が含まれます。

注意

プロパティが EnableSsltrue設定されていて、SMTP メール サーバーが EHLO コマンドへの応答で STARTTLS をアドバタイズしない場合、 メソッドまたは SendAsync メソッドのSend呼び出しによって がSmtpExceptionスローされます。

適用対象

Send(String, String, String, String)

指定した電子メール メッセージを、配信用 SMTP サーバーに送信します。 メッセージの差出人、受信者、件名、およびメッセージ本文は、String オブジェクトを使用して指定されます。

public:
 void Send(System::String ^ from, System::String ^ recipients, System::String ^ subject, System::String ^ body);
public void Send (string from, string recipients, string? subject, string? body);
public void Send (string from, string recipients, string subject, string body);
member this.Send : string * string * string * string -> unit
Public Sub Send (from As String, recipients As String, subject As String, body As String)

パラメーター

from
String

メッセージの差出人のアドレス情報を格納している String

recipients
String

メッセージの送信先のアドレスを格納している String

subject
String

メッセージの件名を格納している String

body
String

メッセージ本文を格納している String

例外

fromnull です。

または

recipientsnull です。

fromEmpty です。

または

recipientsEmpty です。

これには SmtpClient 、既に別の送信操作が進行中です。

- または -

DeliveryMethod プロパティは Network に設定され、Hostnull です。

- または -

DeliveryMethod プロパティは Network に設定され、Host は空の文字列 ("") と等しくなります。

- または -

DeliveryMethod プロパティが Network に設定され、Port がゼロ、負の値、または 65,535 より大きい値になっています。

このオブジェクトは破棄されました。

SMTP サーバーへの接続に失敗しました。

- または -

認証に失敗しました。

- または -

操作はタイムアウトしました。

- または -

EnableSsltrue に設定されますが、DeliveryMethod プロパティは SpecifiedPickupDirectory または PickupDirectoryFromIis に設定されます。

- または -

EnableSsltrue, に設定されていますが、SMTP メール サーバーが EHLO コマンドに対する応答で STARTTLS をアドバタイズしませんでした。

ToCC、または Bcc 内の 1 人の受信者に、message を配信できませんでした。

ToCC、または Bcc 内の複数の受信者に、message を配信できませんでした。

注釈

このメソッドは、電子メールの送信中にブロックします。 タイムアウト値を指定するには、 プロパティを使用して、 Timeout 指定した時間が経過した後にメソッドが確実に返されるようにします。

このメソッドを呼び出す前に Host 、 プロパティと Port プロパティを設定するには、関連するプロパティを設定するか、この情報をコンストラクターに SmtpClient(String, Int32) 渡します。

非同期に送信されるメッセージがある場合は、このメソッドを呼び出すことはできません。

SMTP ホストに資格情報が必要な場合は、このメソッドを呼び出す前に設定する必要があります。 資格情報を指定するには、 または Credentials プロパティを使用しますUseDefaultCredentials

例外が発生したSmtpException場合は、 プロパティをStatusCodeチェックして、操作が失敗した理由を見つけます。 SmtpExceptionには、操作が失敗した理由を示す内部例外を含めることもできます。

を使用して複数の受信者に電子メールを Send 送信し、SMTP サーバーが一部の受信者を有効として受け入れ、他の受信者を拒否する場合は、 Send 受け入れられた受信者に電子メールを送信し SmtpFailedRecipientsException 、 がスローされます (または SmtpFailedRecipientException 、1 人の受信者のみが拒否された場合は )。 には SmtpFailedRecipientsException 、拒否された受信者の一覧が含まれます。

注意

プロパティが EnableSsltrue設定されていて、SMTP メール サーバーが EHLO コマンドへの応答で STARTTLS をアドバタイズしない場合、 メソッドまたは SendAsync メソッドのSend呼び出しによって がSmtpExceptionスローされます。

適用対象