次の方法で共有


SmtpClient.Send メソッド

定義

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

オーバーロード

名前 説明
Send(MailMessage)

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

Send(String, String, String, String)

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

Send(MailMessage)

ソース:
SmtpClient.cs
ソース:
SmtpClient.cs
ソース:
SmtpClient.cs
ソース:
SmtpClient.cs
ソース:
SmtpClient.cs

指定したメッセージを 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 property は Network に設定され、 Host は空の文字列 ("") と等しくなります。

-又は-

DeliveryMethod プロパティが Network に設定され、 Port が 0、負の数、または 65,535 を超える。

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

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

-又は-

認証に失敗した。

-又は-

操作がタイムアウトしたとき。

-又は-

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

-又は-

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

messageを、ToCC、またはBccのいずれかの受信者に配信できませんでした。

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

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

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 プロパティを使用してタイムアウト値を指定すると、指定した時間が経過した後にメソッドが確実に戻ります。

このメソッドを呼び出す前に、関連するプロパティを設定するか、SmtpClient(String, Int32)コンストラクターにこの情報を渡すことによって、構成ファイルを使用して、HostプロパティとPort プロパティを設定する必要があります。

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

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

SmtpException例外が発生した場合は、StatusCode プロパティを調べて、操作が失敗した理由を確認します。 SmtpExceptionには、操作が失敗した理由を示す内部例外を含めることもできます。

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

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

適用対象

Send(String, String, String, String)

ソース:
SmtpClient.cs
ソース:
SmtpClient.cs
ソース:
SmtpClient.cs
ソース:
SmtpClient.cs
ソース:
SmtpClient.cs

指定した電子メール メッセージを 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 property は Network に設定され、 Host は空の文字列 ("") と等しくなります。

-又は-

DeliveryMethod プロパティが Network に設定され、 Port が 0、負の数、または 65,535 を超える。

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

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

-又は-

認証に失敗した。

-又は-

操作がタイムアウトしたとき。

-又は-

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

-又は-

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

メッセージを、 ToCC、または Bccのいずれかの受信者に配信できませんでした。

メッセージを、 ToCC、または Bccの複数の受信者に配信できませんでした。

注釈

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

このメソッドを呼び出す前に、関連するプロパティを設定するか、SmtpClient(String, Int32)コンストラクターにこの情報を渡すことによって、構成ファイルを使用して、HostプロパティとPort プロパティを設定する必要があります。

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

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

SmtpException例外が発生した場合は、StatusCode プロパティを調べて、操作が失敗した理由を確認します。 SmtpExceptionには、操作が失敗した理由を示す内部例外を含めることもできます。

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

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

適用対象