Connessione al server POP3

Il Pop3Client la classe consente alle applicazioni di gestire le caselle email usando il Post Office Protocol, Versione 3 (POP3). Per connettersi a un server, usare il Pop3Client classe. Il Pop3Client la classe è il punto di ingresso principale per gli sviluppatori che desiderano aggiungere la gestione POP3 alle loro applicazioni .NET. Questo articolo spiega come usarla. Per connettersi a un server POP3:

  1. Crea un’istanza di Pop3Client classe.
  2. Specifica host, nome utente e password nel Pop3Client istanza.

Il seguente snippet di codice mostra come connettersi al server 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.");

Connessione a un server SSL

Connessione a un server POP3 descritto come connettersi a un server POP3 in tre semplici passaggi:

  1. Crea un’istanza di Pop3Client classe.
  2. Specifica host, nome utente e password.

Il processo per connettersi a un server POP3 con supporto SSL è simile ma richiede di impostare alcune altre proprietà:

Per connettersi a un server POP3 con supporto SSL, utilizzare il Pop3Client classe e impostare il SecurityOptions e proprietà Porta. Il seguente snippet di codice mostra come connettersi a un server POP3 con supporto 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.");

Connessione a un server APOP

POP sta per Post Office Protocol. APOP sta per Authenticated Post Office Protocol. APOP è una versione estesa della configurazione del server POP3 che cripta il nome utente e la password e utilizza un meccanismo di autenticazione progettato per proteggere la password dell’account POP3 durante il controllo della posta. L’autenticazione APOP non richiede che la password dell’account sia inviata in chiaro al server di posta POP3.

Connessione al server tramite proxy

I server proxy sono molto comuni per comunicare con il mondo esterno. In questi casi, gli indirizzi proxy sono usati dai client di posta per accedere alle caselle di posta via Internet. Aspose.Email supporta le versioni 4, 4a e 5 del protocollo proxy SOCKS. Questo articolo fornisce un esempio funzionante di recupero email tramite un server di posta proxy. Per recuperare email tramite un server proxy:

  1. Inizializza Proxy con le informazioni richieste, ovvero indirizzo proxy, porta e versione SOCKS.
  2. Inizializza Pop3Client con l’indirizzo host, nome utente, password e qualsiasi altra impostazione.
  3. Imposta la proprietà Proxy del client su Proxy oggetto creato sopra.

Il seguente snippet di codice mostra come recuperare le email tramite un server 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();

Connessione a un server tramite 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();
}

Personalizza il meccanismo di autenticazione

Recupera l’elenco dei meccanismi di autenticazione supportati dal server POP3 utilizzando il getSupportedAuthentication metodo del Pop3Client classe. Questo metodo consente al client di determinare quali metodi di autenticazione sono disponibili per stabilire una connessione sicura con il server. Quindi, usando il setAllowedAuthentication metodo che ottiene (o imposta) l’enumerazione dei tipi di autenticazione consentiti dall’utente, scegliendo il meccanismo di autenticazione più appropriato per la comunicazione client‑server. Questo consente di impostare esplicitamente il metodo di autenticazione per il client di posta.

Il seguente esempio di codice mostra come personalizzare l’autenticazione del client email:

pop3Client.setAllowedAuthentication(Pop3KnownAuthenticationType.Plain);

Supporto del protocollo OAuth 2.0 per l’autorizzazione

OAuth 2.0 fornisce autorizzazione

Pop3Client supporta OAuth 2.0 fornendo modalità di autorizzazione specifiche per le applicazioni. I seguenti costruttori sono usati per inizializzare POP3Client con 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*/

Convalida Credenziali del Server Mail senza Inviare Email

A volte è necessario verificare le credenziali senza inviare un’email. Aspose.Email fornisce il validateCredentials() metodo per eseguire questa operazione. Se la validazione ha successo, il codice all’interno dell’if viene eseguito, tipicamente usato per eseguire ulteriori azioni o recuperare dati dal server IMAP. Il seguente snippet di codice dimostra la validazione delle credenziali senza inviare un’email:

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

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

Utilizzare l’autenticazione CRAM-MD5 per connettersi a un server

Per garantire un’autenticazione e una comunicazione sicure con il server POP3, è possibile specificare e imporre l’uso di CRAM-MD5 come metodo di autenticazione consentito per il client POP3. Il seguente snippet di codice mostra come configurare il tipo di autenticazione consentito per il Pop3Client:

popClient.setAllowedAuthentication(Pop3KnownAuthenticationType.CramMD5);

Come Impostare il Timeout per le Operazioni di Posta

Ogni operazione di posta richiede del tempo a seconda di molti fattori (ritardi di rete, dimensione dei dati, performance del server, ecc.). Puoi impostare un timeout per tutte le operazioni di posta. L’esempio di codice qui sotto mostra come farlo usando il Timeout proprietà. Nota: non dovresti impostare valori grandi per evitare lunghe attese nella tua applicazione.

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

    // some code...
}