POP3 サーバーに接続

この Pop3Client クラスは、Post Office Protocol Version 3 (POP3) を使用してメールボックスを管理できるようにします。サーバーに接続するには、次を使用します。 Pop3Client クラス。 Pop3Client クラスは、.NET アプリケーションに POP3 管理機能を追加したい開発者向けの主要エントリです。本記事ではその使用方法を説明します。POP3 サーバーに接続するには:

  1. インスタンスを作成します Pop3Client クラス。
  2. ホスト、ユーザー名、パスワードを次のように指定します。 Pop3Client インスタンス。

以下のコードスニペットは、POP3 サーバーに接続する方法を示しています。

// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java

// Create an instance of the Pop3Client class
Pop3Client client = new Pop3Client();

// Specify host, username, password, Port and SecurityOptions for your client
client.setHost("pop.gmail.com");
client.setUsername("your.username@gmail.com");
client.setPassword("your.password");
client.setPort(995);
client.setSecurityOptions(SecurityOptions.Auto);
System.out.println("Connected to POP3 server.");

SSL サーバーに接続

POP3 サーバーに接続 3 つの簡単な手順で POP3 サーバーに接続する方法を説明しました。

  1. インスタンスを作成します Pop3Client クラス。
  2. ホスト、ユーザー名、パスワードを指定します。

SSL 対応の POP3 サーバーへの接続手順は類似していますが、いくつか追加のプロパティを設定する必要があります。

SSL 対応の POP3 サーバーに接続するには、次を使用します。 Pop3Client クラスと設定する SecurityOptions ポートプロパティとともに。以下のコードスニペットは、SSL 対応の POP3 サーバーに接続する方法を示しています。

// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java

// Create an instance of the Pop3Client class
Pop3Client client = new Pop3Client();

// Specify host, username and password, Port and SecurityOptions for your client
client.setHost("pop.gmail.com");
client.setUsername("your.username@gmail.com");
client.setPassword("your.password");
client.setPort(995);
client.setSecurityOptions(SecurityOptions.Auto);
System.out.println("Connecting to POP3 server using SSL.");

APOP サーバーに接続

POP は Post Office Protocol の略です。APOP は Authenticated Post Office Protocol の略です。APOP は POP3 サーバー設定の拡張版で、ユーザー名とパスワードを暗号化し、メールチェック時に POP3 アカウントのパスワードを保護する認証メカニズムを使用します。APOP 認証では、アカウントのパスワードがプレーンテキストで POP3 メールサーバーに送信されることはありません。

プロキシ経由でサーバーに接続

プロキシサーバーは外部との通信で非常に一般的です。そのような場合、メールクライアントがインターネット経由でメールボックスにアクセスするためにプロキシアドレスが使用されます。Aspose.Email は SOCKS プロキシプロトコルのバージョン 4、4a、5 をサポートしています。このドキュメントでは、プロキシメールサーバーを使用してメールを取得する動作サンプルを提供します。プロキシサーバー経由でメールを取得するには:

  1. 初期化 Proxy 必要な情報、つまりプロキシアドレス、ポート、SOCKS バージョンとともに。
  2. 初期化 Pop3Client ホストアドレス、ユーザー名、パスワード、その他の設定とともに。
  3. クライアントの Proxy プロパティを次のように設定します。 Proxy 上記で作成したオブジェクト。

以下のコードスニペットは、プロキシサーバー経由でメールを取得する方法を示しています。

// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java

// Create an instance of the Pop3Client class
Pop3Client client = new Pop3Client("pop.domain.com", "username", "password");

// Set proxy address, Port and Proxy
String proxyAddress = "192.168.203.142";
int proxyPort = 1080;
SocksProxy proxy = new SocksProxy(proxyAddress, proxyPort, SocksVersion.SocksV5);
client.setProxy(proxy);
Pop3MailboxInfo mailboxInfo = client.getMailboxInfo();

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

// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java

HttpProxy proxy = new HttpProxy("18.222.124.59", 8080);
try (Pop3Client client = new Pop3Client("imap.domain.com", "username", "password")) {
    client.setProxy(proxy);
    Pop3MailboxInfo mailboxInfo = client.getMailboxInfo();
}

認証メカニズムのカスタマイズ

POP3 サーバーがサポートする認証メカニズムのリストを取得するには、 getSupportedAuthentication メソッド( Pop3Client クラス。このメソッドにより、クライアントはサーバーとの安全な接続を確立するために利用可能な認証方法を判断できます。その後、 setAllowedAuthentication ユーザーが許可する認証タイプの列挙を取得(または設定)するメソッドで、クライアント‑サーバー間の通信に最適な認証メカニズムを選択できます。これにより、メールクライアントの認証方法を明示的に設定できます。

以下のコードサンプルは、メールクライアントの認証をカスタマイズする方法を示しています。

pop3Client.setAllowedAuthentication(Pop3KnownAuthenticationType.Plain);

認可のための OAuth 2.0 プロトコルサポート

OAuth 2.0 は認可を提供します

Pop3Client は OAuth 2.0 をサポートし、アプリケーション向けに特定の認可方法を提供します。以下のコンストラクタは、OAuth を使用して POP3Client を初期化するために使用されます。

public Pop3Client(

            String host, /*The host name*/

            int port, /*The port number*/ 

            String username, /*The user name*/

            ITokenProvider tokenProvider, /*TokenProvider allowing to retrieve access token*/

            /*SecurityOptions*/int securityOptions) /*Security mode for a mail client*/



public Pop3Client(

            String host, /*The host name*/

            int port, /*The port number*/

            String username, /*The user name*/

            String authInfo, /*The user password or XOAUTH2 access token*/

            boolean useOAuth, /*Defines whether SASL XOAUTH2 mechanism is used to login to the server*/

            /*SecurityOptions*/int securityOptions) /*Security mode for a mail client*/

メール送信せずにメールサーバーの資格情報を検証する

メールを送信せずに資格情報を確認する必要がある場合があります。Aspose.Email は validateCredentials() この操作を実行するメソッドです。検証が成功すると、if 文内のコードが実行され、通常はさらなる操作や IMAP サーバーからのデータ取得に使用されます。以下のコードスニペットは、メールを送信せずに資格情報を検証する例を示しています。

try (Pop3Client pop3Client = new Pop3Client(
        server.Pop3Url, server.Pop3Port, "userName", "password", SecurityOptions.Auto)) {
    pop3Client.setTimeout(4000);

    if (pop3Client.validateCredentials()) {
        // to do something
    }
}

CRAM-MD5認証を使用してサーバーに接続

POP3 サーバーとの安全な認証と通信を確保するために、POP3 クライアントの許可された認証方法として CRAM-MD5 の使用を指定し、強制できます。以下のコードスニペットは、許可された認証タイプを設定する方法を示しています。 Pop3Client:

popClient.setAllowedAuthentication(Pop3KnownAuthenticationType.CramMD5);

メール操作のタイムアウト設定方法

メール操作は、ネットワーク遅延、データサイズ、サーバー性能など多数の要因により時間がかかります。すべてのメール操作にタイムアウトを設定できます。以下のコード例は、次のものを使用してその方法を示しています。 タイムアウト プロパティ。注意:アプリケーションで長時間待たされるのを防ぐために大きな値は設定しないでください。

try (Pop3Client pop3Client = new Pop3Client("host", 995, "username", "password", SecurityOptions.Auto))
{
    pop3Client.setTimeout(60000); // 60 seconds

    // some code...
}