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

SmtpClient イベント


パブリック イベントパブリック イベント

参照参照

関連項目

SmtpClient クラス
System.Net.Mail 名前空間
System.Net.Mime

SmtpClient クラス

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

アプリケーションSMTP (Simple Mail Transfer Protocol) を使用して電子メール送信できるようにします。

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

public class SmtpClient
public ref class SmtpClient
public class SmtpClient
public class SmtpClient
解説解説

SmtpClient クラスは、配信SMTP サーバー電子メール送信するために使用されます。次の表に示すクラスは、SmtpClient使用して送信できる電子メール メッセージ作成するために使用されます。

SmtpClient使用して電子メール メッセージ作成し送付するには、次の情報指定する必要があります

添付データ電子メール メッセージ含めるには、まず Attachment クラス使用して添付データ作成し次に MailMessage.Attachments プロパティ使用してそのデータメッセージ追加します受信者が使用している電子メール プログラム添付するファイル種類によっては、一部受信者が添付データを読むことができない可能性あります。元の形式添付データ表示できないユーザーのために、MailMessage.AlternateViews プロパティ使用して別の表示形式指定できます

アプリケーションまたはコンピュータ構成ファイル使用してすべての SmtpClient オブジェクトに対して既定ホストポート、および資格情報の値を指定できます詳細については、「mailSettings 要素 (ネットワーク設定)」を参照してください

電子メール メッセージ送信しSMTP サーバーへの送信待機中に処理をブロックするには、いずれか同期 Send メソッド使用しますプログラムメイン スレッドが、電子メールの送信中も実行継続できるようにするには、いずれか非同期 SendAsync メソッド使用しますSendAsync 操作完了すると、SendCompleted イベント発生します。このイベント受信するには、SendCompletedEventHandler デリゲートSendCompleted追加する必要がありますSendCompletedEventHandler デリゲートは、SendCompleted イベント通知処理するコールバック メソッド参照する必要があります電子メール非同期的な伝送キャンセルするには、SendAsyncCancel メソッド使用します

メモメモ

電子メール伝送中に SendAsync または Send再度呼び出すと、InvalidOperationException が通知されます。

SMTP は、RFC 2821 (http://www.ietf.org を参照) で定義されています。

使用例使用例

電子メール メッセージ非同期的に送信するコード例次に示します

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!");
    }
}
継承階層継承階層
System.Object
  System.Net.Mail.SmtpClient
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバ場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
SmtpClient メンバ
System.Net.Mail 名前空間
System.Net.Mime

SmtpClient コンストラクタ ()

メモ : このコンストラクタは、.NET Framework version 2.0新しく追加されたものです。

構成ファイル設定使用して SmtpClient クラス新しインスタンス初期化します。

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

public SmtpClient ()
public:
SmtpClient ()
public SmtpClient ()
解説解説
使用例使用例

電子メール メッセージ送信するコード例次に示します

public static void CreateTestMessage3()
{
    MailAddress to = new MailAddress("jane@contoso.com");
    MailAddress from = new MailAddress("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 e-mail message from an application very easily.";
    // Use the application or machine configuration to get the 
    // host, port, and credentials.
    SmtpClient client = new SmtpClient();
    Console.WriteLine("Sending an e-mail message to {0} at {1} by using
 the SMTP host {2}.",
        to.User, to.Host, client.Host);
    client.Send(message);
}

アプリケーションまたはコンピュータ構成ファイルの <mailSettings> ノード例については、「mailSettings 要素 (ネットワーク設定)」を参照してください

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

SmtpClient コンストラクタ (String, Int32)

メモ : このコンストラクタは、.NET Framework version 2.0新しく追加されたものです。

指定した SMTP サーバーポート使用して電子メール送信する SmtpClient クラスインスタンス初期化します。

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

例外例外
例外種類条件

ArgumentOutOfRangeException

port は 0 未満には設定できません。

解説解説
使用例使用例

このコンストラクタ呼び出すコード例次に示します

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 e-mail 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 e-mail on the client's behalf.
    client.Credentials = CredentialCache.DefaultNetworkCredentials;

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

SmtpClient コンストラクタ (String)

メモ : このコンストラクタは、.NET Framework version 2.0新しく追加されたものです。

指定した SMTP サーバー使用して電子メール送信する SmtpClient クラス新しインスタンス初期化します。

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

解説解説
使用例使用例

このコンストラクタ呼び出すコード例次に示します

public static void CreateTimeoutTestMessage(string
 server)
{
    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 e-mail message from an application very easily.";
    MailMessage message = new MailMessage(from, to, subject, body);
    SmtpClient client = new SmtpClient(server);
    Console.WriteLine("Changing time out from {0} to 100.", client.Timeout);
    client.Timeout = 100;
    // Credentials are necessary if the server requires the client 
    // to authenticate before it will send e-mail on the client's behalf.
    client.Credentials = CredentialCache.DefaultNetworkCredentials;
    client.Send(message);
}
.NET Framework のセキュリティ.NET Frameworkセキュリティ
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
SmtpClient クラス
SmtpClient メンバ
System.Net.Mail 名前空間

SmtpClient コンストラクタ


SmtpClient プロパティ


SmtpClient メソッド


パブリック メソッドパブリック メソッド

プロテクト メソッドプロテクト メソッド
参照参照

関連項目

SmtpClient クラス
System.Net.Mail 名前空間
System.Net.Mime

SmtpClient メンバ

アプリケーションSMTP (Simple Mail Transfer Protocol) を使用して電子メール送信できるようにします。

SmtpClient データ型公開されるメンバを以下の表に示します


パブリック コンストラクタパブリック コンストラクタ
パブリック プロパティパブリック プロパティ
パブリック メソッドパブリック メソッド
プロテクト メソッドプロテクト メソッド
パブリック イベントパブリック イベント
参照参照

関連項目

SmtpClient クラス
System.Net.Mail 名前空間
System.Net.Mime



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

辞書ショートカット

すべての辞書の索引

「SmtpClient」の関連用語

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

   

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



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

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

©2025 GRAS Group, Inc.RSS