Połącz się z serwerem POP3

Ten Pop3Client klasa umożliwia aplikacjom zarządzanie skrzynkami pocztowymi przy użyciu protokołu pocztowego, wersja 3 (POP3). Aby połączyć się z serwerem, użyj Pop3Client klasa. Ta Pop3Client klasa jest głównym punktem wejścia dla programistów, którzy chcą dodać zarządzanie POP3 do swoich aplikacji .NET. Ten artykuł wyjaśnia, jak z niej korzystać. Aby połączyć się z serwerem POP3:

  1. Utwórz instancję Pop3Client klasa.
  2. Określ hosta, nazwę użytkownika i hasło w Pop3Client instancję.

Poniższy fragment kodu pokazuje, jak połączyć się z serwerem 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.");

Łączenie z serwerem SSL

Łączenie z serwerem POP3 opisano, jak połączyć się z serwerem POP3 w trzech prostych krokach:

  1. Utwórz instancję Pop3Client klasa.
  2. Określ hosta, nazwę użytkownika i hasło.

Proces łączenia się z serwerem POP3 z włączonym SSL jest podobny, ale wymaga ustawienia kilku dodatkowych właściwości:

Aby połączyć się z serwerem POP3 z włączonym SSL, użyj Pop3Client klasa i ustawić SecurityOptions i właściwości Port. Poniższy fragment kodu pokazuje, jak połączyć się z serwerem POP3 z włączonym SSL.

// 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.");

Łączenie z serwerem APOP

POP oznacza Post Office Protocol. APOP oznacza Authenticated Post Office Protocol. APOP jest rozszerzoną wersją ustawienia serwera POP3, które szyfruje Twoją nazwę użytkownika i hasło oraz używa mechanizmu uwierzytelniania zaprojektowanego w celu ochrony hasła konta POP3 podczas sprawdzania poczty. Uwierzytelnianie APOP nie wymaga wysyłania hasła konta jako zwykły tekst do serwera poczty POP3.

Łączenie z serwerem przez proxy

Serwery proxy są bardzo powszechne do komunikacji ze światem zewnętrznym. W takich przypadkach adresy proxy są używane przez klientów poczty do dostępu do skrzynek pocztowych przez Internet. Aspose.Email obsługuje wersje 4, 4a i 5 protokołu SOCKS proxy. Ten artykuł zawiera działający przykład pobierania e‑maili przy użyciu serwera proxy poczty. Aby pobrać e‑mail przez serwer proxy:

  1. Inicjalizuj Proxy z wymaganymi informacjami, czyli adresem proxy, portem i wersją SOCKS.
  2. Inicjalizuj Pop3Client z adresem hosta, nazwą użytkownika, hasłem i innymi ustawieniami.
  3. Ustaw właściwość Proxy klienta na Proxy obiekt utworzony powyżej.

Poniższy fragment kodu pokazuje, jak pobrać e‑maile przez serwer 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();

Łączenie z serwerem przez proxy 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();
}

Dostosuj mechanizm uwierzytelniania

Pobierz listę mechanizmów uwierzytelniania obsługiwanych przez serwer POP3 przy użyciu getSupportedAuthentication metoda Pop3Client klasa. Ta metoda pozwala klientowi określić, które metody uwierzytelniania są dostępne do ustanowienia bezpiecznego połączenia z serwerem. Następnie, używając setAllowedAuthentication metoda, która pobiera (lub ustawia) wyliczenie typów uwierzytelniania dozwolonych przez użytkownika, wybierz najbardziej odpowiedni mechanizm uwierzytelniania dla komunikacji klient‑serwer. Umożliwia to explicite ustawienie metody uwierzytelniania dla klienta poczty.

Poniższy przykład kodu pokazuje, jak dostosować uwierzytelnianie klienta e‑mail:

pop3Client.setAllowedAuthentication(Pop3KnownAuthenticationType.Plain);

Obsługa protokołu OAuth 2.0 dla autoryzacji

OAuth 2.0 zapewnia autoryzację

Pop3Client obsługuje OAuth 2.0, zapewniając określone sposoby autoryzacji dla aplikacji. Poniższe konstruktory służą do inicjalizacji POP3Client przy użyciu OAuth:

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*/

Weryfikacja poświadczeń serwera poczty bez wysyłania e‑maila

Czasami konieczne jest zweryfikowanie poświadczeń bez wysyłania e‑maila. Aspose.Email zapewnia validateCredentials() metoda służąca do wykonania tej operacji. Jeśli weryfikacja zakończy się sukcesem, kod wewnątrz instrukcji if zostaje wykonany, zwykle używany do dalszych działań lub pobierania danych z serwera IMAP. Poniższy fragment kodu demonstruje weryfikację poświadczeń bez wysyłania e‑maila:

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

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

Użycie uwierzytelniania CRAM-MD5 do połączenia z serwerem

Aby zapewnić bezpieczne uwierzytelnianie i komunikację z serwerem POP3, możesz określić i wymusić użycie CRAM-MD5 jako dopuszczalnej metody uwierzytelniania dla klienta POP3. Poniższy fragment kodu pokazuje, jak skonfigurować dopuszczalny typ uwierzytelniania dla Pop3Client:

popClient.setAllowedAuthentication(Pop3KnownAuthenticationType.CramMD5);

Jak ustawić limit czasu dla operacji e‑mail

Każda operacja e‑mail zajmuje pewien czas w zależności od wielu czynników (opóźnienia sieciowe, rozmiar danych, wydajność serwera itp.). Możesz ustawić limit czasu dla wszystkich operacji e‑mail. Poniższy przykład kodu pokazuje, jak to zrobić przy użyciu Limit czasu właściwość. Uwaga: nie należy ustawiać dużych wartości, aby uniknąć długiego oczekiwania w aplikacji.

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

    // some code...
}