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クライアントを構成できます。
- SmtpClientクラスのオブジェクトを作成します。
- SmtpClient.Username、SmtpClient.Password、およびSmtpClient.Portプロパティをそれぞれ使用して、ユーザー名、パスワード、およびポート番号を設定します。
- SmtpClient.SecurityOptionsプロパティを使用してセキュリティオプションを設定します。
次のコードサンプルは、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の詳細を調べることができます。