Se connecter au serveur POP3

Le Pop3Client la classe permet aux applications de gérer les boîtes aux lettres en utilisant le Post Office Protocol, version 3 (POP3). Pour se connecter à un serveur, utilisez le Pop3Client classe. Le Pop3Client la classe est l’entrée principale pour les développeurs qui souhaitent ajouter la gestion POP3 à leurs applications .NET. Cet article explique comment l’utiliser. Pour se connecter à un serveur POP3 :

  1. Créez une instance de la Pop3Client classe.
  2. Spécifiez l’hôte, le nom d’utilisateur et le mot de passe dans le Pop3Client instance.

Le fragment de code suivant vous montre comment se connecter au serveur 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.");

Connexion à un serveur SSL

Connexion à un serveur POP3 décrit comment se connecter à un serveur POP3 en trois étapes simples :

  1. Créez une instance de la Pop3Client classe.
  2. Spécifiez l’hôte, le nom d’utilisateur et le mot de passe.

Le processus de connexion à un serveur POP3 avec SSL activé est similaire mais nécessite de définir quelques propriétés supplémentaires :

Pour se connecter à un serveur POP3 avec SSL activé, utilisez le Pop3Client classe et définir le SecurityOptions et propriétés Port. Le fragment de code suivant vous montre comment se connecter à un serveur POP3 avec SSL activé.

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

Connexion à un serveur APOP

POP signifie Post Office Protocol. APOP signifie Authenticated Post Office Protocol. APOP est une version étendue du paramètre du serveur POP3 qui chiffre votre nom d’utilisateur et votre mot de passe et utilise un mécanisme d’authentification conçu pour protéger le mot de passe de votre compte POP3 lors de la vérification du courrier. L’authentification APOP ne nécessite pas que le mot de passe du compte soit envoyé en texte clair au serveur de messagerie POP3.

Connexion au serveur via un proxy

Les serveurs proxy sont très courants pour communiquer avec le monde extérieur. Dans ces cas, les adresses proxy sont utilisées par les clients de messagerie pour accéder aux boîtes aux lettres via Internet. Aspose.Email prend en charge les versions 4, 4a et 5 du protocole proxy SOCKS. Cet article fournit un exemple fonctionnel de récupération d’e‑mail à l’aide d’un serveur de messagerie proxy. Pour récupérer des e‑mails via un serveur proxy :

  1. Initialiser Proxy avec les informations requises, à savoir l’adresse du proxy, le port et la version SOCKS.
  2. Initialiser Pop3Client avec l’adresse de l’hôte, le nom d’utilisateur, le mot de passe et tout autre paramètre.
  3. Définissez la propriété Proxy du client sur le Proxy objet créé ci‑dessus.

Le fragment de code suivant vous montre comment récupérer des e‑mails via un serveur 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();

Connexion à un serveur via un 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();
}

Personnaliser le mécanisme d’authentification

Récupérer la liste des mécanismes d’authentification pris en charge par le serveur POP3 à l’aide du getSupportedAuthentication méthode du Pop3Client classe. Cette méthode permet au client de déterminer quelles méthodes d’authentification sont disponibles pour établir une connexion sécurisée avec le serveur. Ensuite, en utilisant le setAllowedAuthentication méthode qui obtient (ou définit) l’énumération des types d’authentification autorisés par l’utilisateur, choisissez le mécanisme d’authentification le plus approprié pour la communication client-serveur. Cela vous permet de définir explicitement la méthode d’authentification pour le client de messagerie.

L’exemple de code suivant montre comment personnaliser l’authentification du client e-mail :

pop3Client.setAllowedAuthentication(Pop3KnownAuthenticationType.Plain);

Prise en charge du protocole OAuth 2.0 pour l’autorisation

OAuth 2.0 fournit l’autorisation

Pop3Client prend en charge OAuth 2.0, offrant des méthodes d’autorisation spécifiques pour les applications. Les constructeurs suivants sont utilisés pour initialiser POP3Client avec 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*/

Valider les informations d’identification du serveur de messagerie sans envoyer d’e‑mail

Parfois, il est nécessaire de vérifier les informations d’identification sans envoyer d’e‑mail. Aspose.Email fournit le validateCredentials() méthode pour effectuer cette opération. Si la validation réussit, le code à l’intérieur de l’instruction if est exécuté, généralement utilisé pour effectuer d’autres actions ou récupérer des données du serveur IMAP. Le fragment de code suivant montre la validation des informations d’identification sans envoyer d’e‑mail :

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

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

Utilisation de l’authentification CRAM-MD5 pour se connecter à un serveur

Pour assurer une authentification sécurisée et une communication avec le serveur POP3, vous pouvez spécifier et imposer l’utilisation de CRAM-MD5 comme méthode d’authentification autorisée pour le client POP3. Le fragment de code suivant montre comment configurer le type d’authentification autorisé pour le Pop3Client:

popClient.setAllowedAuthentication(Pop3KnownAuthenticationType.CramMD5);

Comment définir un délai d’attente pour les opérations de messagerie

Chaque opération de messagerie prend du temps en fonction de nombreux facteurs (délais réseau, taille des données, performance du serveur, etc.). Vous pouvez définir un délai d’attente pour toutes les opérations de messagerie. L’exemple de code ci‑dessus montre comment faire cela en utilisant le Délai d’attente propriété. Remarque : vous ne devez pas définir de grandes valeurs afin d’éviter de longues attentes dans votre application.

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

    // some code...
}