C#を使用してSMTPサーバーに接続する

Simple Mail Transfer Protocol(SMTP)は、クライアントアプリケーションから電子メールサーバーへの電子メールメッセージの送信を処理する、最も一般的に使用される電子メールプロトコルです。さまざまな場合、SMTP経由で電子メールを送信するために、電子メールクライアントが.NETアプリケーション内に実装されます。このようなシナリオでは、この記事では、C#を使用してプログラムでSMTPサーバーに接続する方法について説明します。さらに、コードサンプルは、接続の確立後にSMTPクライアントを介して電子メールを送信する方法を示しています。

SMTPサーバーに接続するためのC#API

Aspose.Email for .NETは、強力な電子メールクライアントアプリケーションを作成するために設計されたC#APIです。 APIを使用すると、数行のコード内で複雑な電子メール操作を非常に簡単に実行できます。さらに、SOCKSおよびHTTPプロキシサーバーを介してSMTPサーバーに接続できます。 APIのDLLをダウンロードするか、NuGetを使用してインストールできます。

PM> Install-Package Aspose.Email

C#を使用してSMTPサーバーに接続する

SMTPサーバーに接続する前に、次のことを知っておく必要があります。

  • ユーザー名
  • パスワード
  • ポート

それらを入手したら、次の手順を使用してSMTPクライアントを構成できます。

次のコードサンプルは、C#でSMTP接続用のAPIを設定する方法を示しています。

// 完全な例とデータファイルについては、https://github.com/aspose-email/Aspose.Email-for-.NETにアクセスしてください。
SmtpClient client = new SmtpClient("smtp.gmail.com");

// ユーザー名、パスワード、ポート、およびセキュリティオプションを設定します
client.Username = "your.email@gmail.com";
client.Password = "your.password";
client.Port = 587;
client.SecurityOptions = SecurityOptions.SSLExplicit;

APIを構成したら、次のいずれかのオプションを使用してSMTPサーバーに接続できます。

C#のSOCKSプロキシサーバー経由でSMTPに接続する

Aspose.Emailは、SOCKSプロキシプロトコルのバージョン4、4a、および5のサポートを提供します。以下は、Aspose.Emailfor.NETを使用してSOCKSプロキシサーバー経由でSMTPサーバーに接続する手順です。

  • SmtpClientをホストアドレス、ユーザー名、パスワード、その他の設定で初期化します。
  • SocksProxyクラスのオブジェクトを作成し、アドレスとポートを設定します。
  • SmtpClient.Proxyプロパティを使用してクライアントのプロキシを設定します。
  • SmtpClient.Send()メソッドを使用して電子メールを送信します。

次のコードサンプルは、C#を使用してSOCKSプロキシ経由でSMTPサーバーに接続する方法を示しています。

// 完全な例とデータファイルについては、https://github.com/aspose-email/Aspose.Email-for-.NETにアクセスしてください。
SmtpClient client = new SmtpClient("smtp.domain.com", "username", "password");
client.SecurityOptions = SecurityOptions.SSLImplicit;
string proxyAddress = "192.168.203.142"; // proxy address
int proxyPort = 1080; // proxy port
SocksProxy proxy = new SocksProxy(proxyAddress, proxyPort, SocksVersion.SocksV5);
client.Proxy = proxy;
client.Send(new MailMessage("sender@domain.com", "receiver@domain.com", "Sending Email via proxy", "Implement socks proxy protocol for versions 4, 4a, 5 (only Username/Password authentication)"));

HTTPプロキシサーバー経由でSMTPサーバーに接続する

以下は、HTTPプロキシサーバーを介してSMTPサーバーに接続する手順です。

  • HttpProxyクラスのインスタンスを作成し、IPとポート番号で初期化します。
  • SmtpClientオブジェクトを作成して構成します。
  • SmtpClient.Proxyプロパティを使用してHTTPプロキシを設定します。
  • SmtpClient.Send()メソッドを使用して電子メールを送信します。

次のコードサンプルは、HTTPプロキシサーバーを介してSMTPサーバーに接続する方法を示しています。

// 完全な例とデータファイルについては、https://github.com/aspose-email/Aspose.Email-for-.NETにアクセスしてください。
HttpProxy proxy = new HttpProxy("18.222.124.59", 8080);
using (SmtpClient client = new SmtpClient("host", 587, "username", "password"))
{
    client.Proxy = proxy;
    client.Send(new MailMessage(
        "from@domain.com",
        "to@domain.com",
        "NETWORKNET-34226 - " + Guid.NewGuid().ToString(),
        "NETWORKNET-34226 Implement socks proxy protocol for versions 4, 4a, 5 (only Username/Password authentication)"));
}

無料のAPIライセンスを取得する

一時ライセンスの取得を使用すると、Aspose.Emailfor.NETを無料で試して使用できます。

結論

この記事では、C#を使用してSMTPサーバーに接続する方法を学習しました。さらに、ステップバイステップガイドとコードサンプルは、SOCKSおよびHTTPプロキシサーバーを介してSMTPサーバーに接続する方法を示しています。 ドキュメントを使用して、C#メールAPIの詳細を調べることができます。

関連項目