SMTPは、クライアントアプリケーションから電子メールサーバーに電子メールを送信するために一般的に使用される電子メールプロトコルです。 SMTPサーバーと通信する前に、接続を確立する必要があります。この記事では、Javaを使用してプログラムでSMTPサーバーに接続する方法を学習します。さらに、この記事では、SOCKSまたはHTTPプロキシを介してSMTPサーバーに接続する方法について説明します。
- SMTPサーバーに接続するためのJavaAPI
- SMTPサーバーに接続する
- SOCKSプロキシを使用してSMTPサーバーに接続する
- HTTPプロキシを使用してSMTPサーバーに接続する
- 無料のAPIライセンスを取得する
SMTPサーバーに接続するためのJavaAPI
SMTPサーバーに接続するには、Aspose.Email for Javaを使用します。これは、Javaを使用して機能豊富な電子メールクライアントアプリケーションを作成できる強力なAPIです。さらに、SMTPサーバーに接続するための簡略化された方法を提供します。 APIのJARをダウンロードするか、次のMaven構成を使用してインストールできます。
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>http://repository.aspose.com/repo/</url>
</repository>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-email</artifactId>
<version>21.3</version>
<classifier>jdk16</classifier>
</dependency>
Javaを使用してSMTPサーバーに接続する
SMTPサーバーに接続する手順は次のとおりです。
- SmtpClientクラスのオブジェクトを作成し、ホストのアドレスで初期化します。
- SmtpClientオブジェクトを使用して、ユーザー名、パスワード、ポート、およびセキュリティオプションを設定します。
- メールを送信します。
次のコードサンプルは、Javaを使用してSMTPサーバーに接続する方法を示しています。
// SmtpClientのオブジェクトを作成します
SmtpClient client = new SmtpClient("smtp.gmail.com");
// ユーザー名、パスワード、ポート、およびセキュリティオプションを設定します
client.setUsername("your.email@gmail.com");
client.setPassword("your.password");
client.setPort(587);
client.setSecurityOptions(SecurityOptions.SSLExplicit);
// メールを送る
client.send(new MailMessage("sender@domain.com", "receiver@domain.com", "Sending Email via proxy", "Test email"));
プロキシを使用してSMTPサーバーに接続する
さまざまな場合、SMTPサーバーはプロキシを使用して保護されます。したがって、プロキシサーバーを介してSMTPサーバーに接続する必要があります。このような場合、Aspose.Email for Javaは次のメソッドを提供します。
JavaのSOCKSプロキシを介してSMTPサーバーに接続する
Aspose.Email for Javaは、SOCKSプロキシプロトコルのバージョン4、4a、および5のサポートを提供します。以下は、SOCKSプロキシを介してSMTPサーバーに接続するための手順です。
- SmtpClientクラスのオブジェクトを作成し、ホスト、ユーザー名、およびパスワードで初期化します。
- SocksProxyクラスのオブジェクトを作成し、サーバーのアドレス、ポート、およびSOCKSバージョンを設定します。
- SmtpClient.setProxy(SocksProxy)メソッドを使用してプロキシを設定します。
- メールを送る。
次のコードサンプルは、SOCKSプロキシを介してSMTPサーバーに接続する方法を示しています。
// SmtpClientのオブジェクトを作成します
SmtpClient client = new SmtpClient("smtp.domain.com", "username", "password");
// セキュリティオプションを設定する
client.setSecurityOptions(SecurityOptions.SSLImplicit);
// プロキシ設定
String proxyAddress = "192.168.203.142"; // proxy address
int proxyPort = 1080; // proxy port
// プロキシの作成と設定
SocksProxy proxy = new SocksProxy(proxyAddress, proxyPort, SocksVersion.SocksV5);
client.setProxy(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)"));
JavaのHTTPプロキシを介してSMTPサーバーに接続する
HTTPプロキシ経由でSMTPサーバーに接続する手順は次のとおりです。
- HttpProxyクラスのオブジェクトを作成し、ホストとポート番号で初期化します。
- SmtpClientクラスのオブジェクトを作成し、ホスト、ユーザー名、パスワード、およびポートを設定します。
- SmtpClient.setProxy(HttpProxy)メソッドを使用してプロキシを設定します。
- メールを送る。
次のコードサンプルは、HTTPプロキシを介してSMTPサーバーに接続する方法を示しています。
// HttpProxyのオブジェクトを作成します
HttpProxy proxy = new HttpProxy("18.222.124.59", 8080);
// SMTPクライアントを作成する
try (SmtpClient client = new SmtpClient("host", 587, "username", "password")) {
// プロキシを設定する
client.setProxy(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)"));
}
無料のAPIライセンスを取得する
評価の制限なしにAspose.Email for Javaを使用するには、無料の一時ライセンスを取得できます。
結論
この記事では、Javaを使用してプログラムでSMTPサーバーに接続する方法を学習しました。さらに、SOCKSおよびHTTPプロキシを使用してSMTPサーバーに接続する方法を見てきました。 ドキュメントを使用して、Aspose.Email for Javaの詳細を調べることができます。さらに、フォーラムからクエリを送信できます。