SmtpClient.Send メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
配信のために 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 。
例外
message は nullです。
この SmtpClient には、既に別の送信操作が進行中です。
-又は-
From は nullです。
-又は-
To、CC、およびBccプロパティに受信者が指定されていない。
-又は-
DeliveryMethod プロパティが Network に設定され、 Host が null。
-又は-
DeliveryMethod property は Network に設定され、 Host は空の文字列 ("") と等しくなります。
-又は-
DeliveryMethod プロパティが Network に設定され、 Port が 0、負の数、または 65,535 を超える。
このオブジェクトは破棄されました。
SMTP サーバーへの接続に失敗しました。
-又は-
認証に失敗した。
-又は-
操作がタイムアウトしたとき。
-又は-
EnableSsl は true に設定されていますが、 DeliveryMethod プロパティは SpecifiedPickupDirectory または PickupDirectoryFromIis に設定されます。
-又は-
EnableSsl は true, に設定されていますが、SMTP メール サーバーが EHLO コマンドへの応答で STARTTLS をアドバタイズしませんでした。
例
次のコード例では、このメソッドの使用方法を示します。
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)
パラメーター
例外
この SmtpClient には、既に別の送信操作が進行中です。
-又は-
DeliveryMethod プロパティが Network に設定され、 Host が null。
-又は-
DeliveryMethod property は Network に設定され、 Host は空の文字列 ("") と等しくなります。
-又は-
DeliveryMethod プロパティが Network に設定され、 Port が 0、負の数、または 65,535 を超える。
このオブジェクトは破棄されました。
SMTP サーバーへの接続に失敗しました。
-又は-
認証に失敗した。
-又は-
操作がタイムアウトしたとき。
-又は-
EnableSsl は true に設定されていますが、 DeliveryMethod プロパティは SpecifiedPickupDirectory または PickupDirectoryFromIis に設定されます。
-又は-
EnableSsl は true, に設定されていますが、SMTP メール サーバーが EHLO コマンドへの応答で STARTTLS をアドバタイズしませんでした。
注釈
このメソッドは、電子メールの送信中にブロックします。 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がスローされます。