SmtpClient.SendAsyncとは? わかりやすく解説

SmtpClient.SendAsync メソッド (String, String, String, String, Object)

メモ : このメソッドは、.NET Framework version 2.0新しく追加されたものです。

電子メール メッセージを、配信SMTP サーバー送信しますメッセージ差出人受信者、件名、およびメッセージ本文は、String オブジェクト使用して指定されます。このメソッドは、呼び出し元のスレッドブロックしません。また、呼び出し元は、操作完了時に呼び出されるメソッドオブジェクトを渡すことができます

名前空間: System.Net.Mail
アセンブリ: System (system.dll 内)
構文構文

Public Sub SendAsync ( _
    from As String, _
    recipients As String, _
    subject As String, _
    body As String, _
    userToken As Object _
)
Dim instance As SmtpClient
Dim from As String
Dim recipients As String
Dim subject As String
Dim body As String
Dim userToken As Object

instance.SendAsync(from, recipients, subject, body, userToken)
public void SendAsync (
    string from,
    string recipients,
    string subject,
    string body,
    Object userToken
)
public:
void SendAsync (
    String^ from, 
    String^ recipients, 
    String^ subject, 
    String^ body, 
    Object^ userToken
)
public void SendAsync (
    String from, 
    String recipients, 
    String subject, 
    String body, 
    Object userToken
)
public function SendAsync (
    from : String, 
    recipients : String, 
    subject : String, 
    body : String, 
    userToken : Object
)

パラメータ

from

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

recipients

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

subject

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

body

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

userToken

非同期操作完了時に呼び出されるメソッド渡されるユーザー定義のオブジェクト

例外例外
例外種類条件

ArgumentNullException

fromnull 参照 (Visual Basic では Nothing) です。

または

recipientnull 参照 (Visual Basic では Nothing) です。

ArgumentException

fromEmpty です。

または

recipientEmpty です。

InvalidOperationException

この SmtpClient は、SendAsync の呼び出し中です。

または

Hostnull 参照 (Visual Basic では Nothing) です。

または

Host空の文字列 ("") です。

または

Port が 0 です。

ObjectDisposedException

このオブジェクト破棄されています。

SmtpException

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

または

認証失敗しました

または

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

SmtpFailedRecipientsException

recipients 内の 1 人上の受信者に、メッセージ配信できませんでした

解説解説

電子メール送信されたとき、またはその操作キャンセルされたときに通知受け取るには、SendCompleted イベントイベント ハンドラ追加します。SendAsyncCancel メソッド呼び出してSendAsync 操作キャンセルできます

SendAsync呼び出した後、Send または SendAsync使用して別の電子メール メッセージ送信する前に電子メール伝送完了するまで待機する必要があります

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

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

SmtpException 例外発生した場合は、StatusCode プロパティチェックして操作失敗した理由確認してくださいSmtpException は、操作失敗した理由を示す内部例外格納することもできます

アプリケーションでは、SendCompletedEventHandler デリゲート渡されError プロパティ調べることで、サーバー証明書検証エラー検出できます

Timeout プロパティは、SendAsync 呼び出しに対して影響与えません。

メール送信しSMTP サーバーへの送信中はブロックするには、いずれかSend メソッド使用します

.NET Framework のセキュリティ.NET Frameworkセキュリティ
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
SmtpClient クラス
SmtpClient メンバ
System.Net.Mail 名前空間

SmtpClient.SendAsync メソッド


SmtpClient.SendAsync メソッド (MailMessage, Object)

メモ : このメソッドは、.NET Framework version 2.0新しく追加されたものです。

指定した電子メール メッセージを、配信SMTP サーバー送信します。このメソッドは、呼び出し元のスレッドブロックしません。また、呼び出し元は、操作完了時に呼び出されるメソッドオブジェクトを渡すことができます

名前空間: System.Net.Mail
アセンブリ: System (system.dll 内)
構文構文

Public Sub SendAsync ( _
    message As MailMessage, _
    userToken As Object _
)
Dim instance As SmtpClient
Dim message As MailMessage
Dim userToken As Object

instance.SendAsync(message, userToken)
public void SendAsync (
    MailMessage message,
    Object userToken
)
public:
void SendAsync (
    MailMessage^ message, 
    Object^ userToken
)
public void SendAsync (
    MailMessage message, 
    Object userToken
)
public function SendAsync (
    message : MailMessage, 
    userToken : Object
)

パラメータ

message

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

userToken

非同期操作完了時に呼び出されるメソッド渡されるユーザー定義のオブジェクト

例外例外
例外種類条件

ArgumentNullException

MailMessage.From が null 参照 (Visual Basic では Nothing) です。

または

MailMessage.To が null 参照 (Visual Basic では Nothing) です。

または

messagenull 参照 (Visual Basic では Nothing) です。

ArgumentOutOfRangeException

ToCC、および BCC受信者が指定されていません。

InvalidOperationException

この SmtpClient は、SendAsync の呼び出し中です。

または

Hostnull 参照 (Visual Basic では Nothing) です。

または

Host空の文字列 ("") です。

または

Port が 0 です。

ObjectDisposedException

このオブジェクト破棄されています。

SmtpException

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

または

認証失敗しました

または

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

SmtpFailedRecipientsException

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

解説解説

電子メール送信されたとき、またはその操作キャンセルされたときに通知受け取るには、SendCompleted イベントイベント ハンドラ追加します。SendAsyncCancel メソッド呼び出してSendAsync 操作キャンセルできます

SendAsync呼び出した後、Send または SendAsync使用して別の電子メール メッセージ送信する前に電子メール伝送完了するまで待機する必要があります

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

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

SmtpException 例外発生した場合は、StatusCode プロパティチェックして操作失敗した理由確認してくださいSmtpException は、操作失敗した理由を示す内部例外格納することもできます

アプリケーションでは、SendCompletedEventHandler デリゲート渡されError プロパティ調べることで、サーバー証明書検証エラー検出できます

Timeout プロパティは、SendAsync 呼び出しに対して影響与えません。

メール送信しSMTP サーバーへの送信中はブロックするには、いずれかSend メソッド使用します

使用例使用例

メソッド呼び出しについては、次のコード例参照してください

using System;
using System.Net;
using System.Net.Mail;
using System.Net.Mime;
using System.Threading;
using System.ComponentModel;
namespace Examples.SmptExamples.Async
{
    public class SimpleAsynchronousExample
    {
        static bool mailSent = false;
        public static void
 SendCompletedCallback(object sender, AsyncCompletedEventArgs e)
        {
            // Get the unique identifier for this asynchronous operation.
             String token = (string) e.UserState;
           
            if (e.Cancelled)
            {
                 Console.WriteLine("[{0}] Send canceled.", token);
            }
            if (e.Error != null)
            {
                 Console.WriteLine("[{0}] {1}", token, e.Error.ToString());
            } else
            {
                Console.WriteLine("Message sent.");
            }
            mailSent = true;
        }
        public static void
 Main(string[] args)
        {
            // Command line argument must the the SMTP host.
            SmtpClient client = new SmtpClient(args[0]);
            // Specify the e-mail sender.
            // Create a mailing address that includes a UTF8 character
            // in the display name.
            MailAddress from = new MailAddress("jane@contoso.com",
 
               "Jane " + (char)0xD8+ " Clayton",
 
            System.Text.Encoding.UTF8);
            // Set destinations for the e-mail message.
            MailAddress to = new MailAddress("ben@contoso.com");
            // Specify the message content.
            MailMessage message = new MailMessage(from, to);
            message.Body = "This is a test e-mail message sent by an application.
 ";
            // Include some non-ASCII characters in body and subject.
            string someArrows = new string(new
 char[] {'\u2190', '\u2191', '\u2192', '\u2193'});
            message.Body += Environment.NewLine + someArrows;
            message.BodyEncoding =  System.Text.Encoding.UTF8;
            message.Subject = "test message 1" + someArrows;
            message.SubjectEncoding = System.Text.Encoding.UTF8;
            // Set the method that is called back when the send operation
 ends.
            client.SendCompleted += new 
            SendCompletedEventHandler(SendCompletedCallback);
            // The userState can be any object that allows your callback
 
            // method to identify this send operation.
            // For this example, the userToken is a string constant.
            string userState = "test message1";
            client.SendAsync(message, userState);
            Console.WriteLine("Sending message... press c to cancel mail. Press
 any other key to exit.");
            string answer = Console.ReadLine();
            // If the user canceled the send, and mail hasn't been sent
 yet,
            // then cancel the pending operation.
            if (answer.StartsWith("c") && mailSent
 == false)
            {
                client.SendAsyncCancel();
            }
            // Clean up.
            message.Dispose();
            Console.WriteLine("Goodbye.");
        }
    }
}
#using <System.dll>
using namespace System;
using namespace System::Net;
using namespace System::Net::Mail;
using namespace System::Net::Mime;
using namespace System::Threading;
using namespace System::ComponentModel;

static bool mailSent;

static void SendCompletedCallback(Object^ sender,
 AsyncCompletedEventArgs^ e)
{
    // Get the unique identifier for this asynchronous 
    // operation.
    String^ token = (String^) e->UserState;

    if (e->Cancelled)
    {
        Console::WriteLine("[{0}] Send canceled.", token);
    }
    if (e->Error != nullptr)
    {
        Console::WriteLine("[{0}] {1}", token, 
            e->Error->ToString());
    } else
    {
        Console::WriteLine("Message sent.");
    }
    mailSent = true;
}

int main(array<String^>^ args)
{
    if (args->Length > 1)
    {
        // Command line argument must the the SMTP host.
        SmtpClient^ client = gcnew SmtpClient(args[1]);
        // Specify the e-mail sender.
        // Create a mailing address that includes a UTF8 
        // character in the display name.
        MailAddress^ from = gcnew MailAddress("jane@contoso.com",
            "Jane " + (wchar_t)0xD8 + " Clayton",
            System::Text::Encoding::UTF8);
        // Set destinations for the e-mail message.
        MailAddress^ to = gcnew MailAddress("ben@contoso.com");
        // Specify the message content.
        MailMessage^ message = gcnew MailMessage(from, to);
        message->Body = "This is a test e-mail message sent" +
            " by an application. ";
        // Include some non-ASCII characters in body and 
        // subject.
        String^ someArrows = gcnew String(gcnew array<wchar_t>{L'\u2190', 
            L'\u2191', L'\u2192', L'\u2193'});
        message->Body += Environment::NewLine + someArrows;
        message->BodyEncoding = System::Text::Encoding::UTF8;
        message->Subject = "test message 1" + someArrows;
        message->SubjectEncoding = System::Text::Encoding::UTF8;
        // Set the method that is called back when the send
        // operation ends.
        client->SendCompleted += gcnew
            SendCompletedEventHandler(SendCompletedCallback);
        // The userState can be any object that allows your 
        // callback method to identify this send operation.
        // For this example, the userToken is a string constant.
        String^ userState = "test message1";
        client->SendAsync(message, userState);
        Console::WriteLine("Sending message... press c to" +
            " cancel mail. Press any other key to exit.");
        String^ answer = Console::ReadLine();
        // If the user canceled the send, and mail hasn't been 
        // sent yet,then cancel the pending operation.
        if (answer->ToLower()->StartsWith("c")
 && mailSent == false)
        {
            client->SendAsyncCancel();
        }
        // Clean up.
        delete message;
        client = nullptr;
        Console::WriteLine("Goodbye.");
    }
    else
    {
        Console::WriteLine("Please give SMTP server name!");
    }
}
.NET Framework のセキュリティ.NET Frameworkセキュリティ
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
SmtpClient クラス
SmtpClient メンバ
System.Net.Mail 名前空間


このページでは「.NET Framework クラス ライブラリ リファレンス」からSmtpClient.SendAsyncを検索した結果を表示しています。
Weblioに収録されているすべての辞書からSmtpClient.SendAsyncを検索する場合は、下記のリンクをクリックしてください。
 全ての辞書からSmtpClient.SendAsync を検索

英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「SmtpClient.SendAsync」の関連用語

SmtpClient.SendAsyncのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



SmtpClient.SendAsyncのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2025 Microsoft.All rights reserved.

©2025 GRAS Group, Inc.RSS