Připojit se k POP3 serveru

The Pop3Client třída umožňuje aplikacím spravovat e‑mailové schránky pomocí Post Office Protocol, verze 3 (POP3). Pro připojení k serveru použijte Pop3Client třída. The Pop3Client třída je hlavním vstupem pro vývojáře, kteří chtějí přidat správu POP3 do svých .NET aplikací. Tento článek vysvětluje, jak ji použít. Pro připojení k POP3 serveru:

  1. Vytvořte instanci Pop3Client třída.
  2. Zadejte hostitele, uživatelské jméno a heslo do Pop3Client instance.

Následující úryvek kódu ukazuje, jak se připojit k POP3 serveru.

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

Připojení k SSL serveru

Připojení k POP3 serveru popisuje, jak se připojit k POP3 serveru ve třech jednoduchých krocích:

  1. Vytvořte instanci Pop3Client třída.
  2. Zadejte hostitele, uživatelské jméno a heslo.

Postup připojení k POP3 serveru s povoleným SSL je podobný, ale vyžaduje nastavení dalších několika vlastností:

Pro připojení k POP3 serveru s povoleným SSL použijte Pop3Client třída a nastavit SecurityOptions a vlastnosti Port. Následující úryvek kódu ukazuje, jak se připojit k POP3 serveru s povoleným 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.");

Připojení k APOP serveru

POP znamená Post Office Protocol. APOP znamená Authenticated Post Office Protocol. APOP je rozšířená verze nastavení POP3 serveru, která šifruje vaše uživatelské jméno a heslo a používá autentizační mechanismus navržený k ochraně hesla vašeho POP3 účtu při kontrole e‑mailu. Autentizace APOP nevyžaduje, aby bylo heslo účtu odesíláno jako prostý text na POP3 poštovní server.

Připojení k serveru přes proxy

Proxy servery jsou velmi běžné pro komunikaci s vnějším světem. V takových případech jsou proxy adresy používány e‑mailovými klienty k přístupu k poštovním schránkám přes Internet. Aspose.Email poskytuje podporu pro verze 4, 4a a 5 protokolu SOCKS proxy. Tento článek poskytuje funkční příklad získávání e‑mailů pomocí proxy poštovního serveru. Pro získání e‑mailu přes proxy server:

  1. Inicializovat Proxy s požadovanými informacemi, tj. adresou proxy, portem a verzí SOCKS.
  2. Inicializovat Pop3Client s adresou hostitele, uživatelským jménem, heslem a dalšími nastaveními.
  3. Nastavte vlastnost Proxy klienta na Proxy objekt vytvořený výše.

Následující úryvek kódu ukazuje, jak získat e‑maily přes proxy server.

// 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();

Připojení k serveru přes HTTP proxy

// 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();
}

Přizpůsobení autentizačního mechanismu

Získat seznam autentizačních mechanismů, které POP3 server podporuje, pomocí getSupportedAuthentication metoda třídy Pop3Client třída. Tato metoda umožňuje klientovi zjistit, které autentizační metody jsou k dispozici pro navázání zabezpečeného spojení se serverem. Pak, pomocí setAllowedAuthentication metoda, která získá (nebo nastaví) výčet typů autentizace povolených uživatelem, vyberte nejvhodnější autentizační mechanismus pro komunikaci klient‑server. To vám umožní explicitně nastavit autentizační metodu pro e‑mailový klient.

Následující ukázka kódu ukazuje, jak přizpůsobit autentizaci e‑mailového klienta:

pop3Client.setAllowedAuthentication(Pop3KnownAuthenticationType.Plain);

Podpora protokolu OAuth 2.0 pro autorizaci

OAuth 2.0 poskytuje autorizaci

Pop3Client podporuje OAuth 2.0 a poskytuje specifické způsoby autorizace pro aplikace. Následující konstruktorové metody se používají k inicializaci POP3Client pomocí 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*/

Ověření přihlašovacích údajů poštovního serveru bez odeslání e‑mailu

Někdy je nutné ověřit přihlašovací údaje bez odeslání e‑mailu. Aspose.Email poskytuje validateCredentials() metoda k provedení této operace. Pokud je ověření úspěšné, kód v bloku if se vykoná, typicky se používá k dalším akcím nebo načtení dat ze serveru IMAP. Následující úryvek kódu demonstruje ověření přihlašovacích údajů bez odeslání e‑mailu:

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

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

Použití autentizace CRAM-MD5 pro připojení k serveru

Aby byla zajištěna bezpečná autentizace a komunikace s POP3 serverem, můžete určit a vynutit použití CRAM-MD5 jako povolené autentizační metody pro POP3 klienta. Následující úryvek kódu ukazuje, jak nakonfigurovat povolený typ autentizace pro Pop3Client:

popClient.setAllowedAuthentication(Pop3KnownAuthenticationType.CramMD5);

Jak nastavit časový limit pro operace s poštou

Každá operace s poštou trvá určitý čas v závislosti na mnoha faktorech (zpoždění sítě, velikost dat, výkonnost serveru atd.). Můžete nastavit časový limit pro všechny operace s poštou. Níže uvedený příklad kódu ukazuje, jak to provést pomocí Časový limit vlastnost. Poznámka: neměli byste nastavovat velké hodnoty, aby nedocházelo k dlouhému čekání ve vaší aplikaci.

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

    // some code...
}