Récupération d'e-mails depuis le serveur POP3

Obtenir les informations de la boîte aux lettres et le nombre de messages

L’API Aspose.Email vous permet d’effectuer diverses opérations avec les messages sur le serveur, notamment d’obtenir des informations sur la boîte aux lettres telles que le nombre de messages et la taille de la boîte aux lettres en utilisant le get_mailbox_size() et get_mailbox_info() méthodes.

  • Le get_mailbox_size() méthode renvoie la taille de la boîte aux lettres en octets.
  • Le get_mailbox_info() méthode renvoie un objet de type Pop3MailBoxInfo.

Il est également possible d’obtenir le nombre de messages à l’aide du message_count propriété et la taille en utilisant la propriété `occupied_size``. Le code d’exemple suivant montre comment obtenir des informations sur la boîte aux lettres. Il montre comment :

  1. Créez un Pop3Client.
  2. Se connecter à un serveur POP3.
  3. Obtenir la taille de la boîte aux lettres.
  4. Obtenir les informations de la boîte aux lettres.
  5. Obtenir le nombre de messages dans la boîte aux lettres.
  6. Obtenir la taille occupée.

Obtenir uniquement le nombre de messages

L’exemple de code ci-dessus montre comment obtenir les statistiques de la boîte aux lettres comme la taille ou l’espace utilisé ainsi que le nombre total de messages dans la boîte aux lettres. L’exemple de code suivant vous montrera comment récupérer directement le nombre de messages électroniques dans la boîte aux lettres. Cette méthode est plus simple et plus rapide si vous avez seulement besoin du nombre de messages.

Récupérer uniquement les en-têtes des e-mails

Aspose.Email permet aux développeurs d’accéder aux métadonnées des e-mails sans télécharger le contenu complet du message. Dans de nombreux scénarios, il est utile d’examiner uniquement les en-têtes des e-mails - comme l’expéditeur, le sujet et la date de réception - pour déterminer si un message mérite d’être récupéré. Cette approche réduit la charge du serveur et améliore les performances, surtout lorsqu’on travaille avec de grandes boîtes aux lettres via une connexion POP3.

L’exemple de code suivant montre comment se connecter à un serveur POP3 et récupérer uniquement les en-têtes d’un message spécifique en utilisant son numéro de séquence. Cette opération légère vous aide à prendre des décisions éclairées sur quels e-mails télécharger ou ignorer.

Télécharger les e-mails depuis le serveur

Le Aspose.Email Pop3Client classe offre la capacité de récupérer des messages e-mail depuis un serveur POP3 et de les convertir en instances MailMessage. Cela est rendu possible grâce aux propriétés et méthodes du MailMessage classe, qui facilite la manipulation du contenu des e-mails. En utilisant le fetch_message méthode du Pop3Client classe, vous pouvez obtenir un MailMessage instance directement depuis le serveur POP3. Le fragment de code suivant montre comment récupérer un e-mail complet depuis le serveur :

Récupérer le résumé du message par ID unique

Le client POP3 de l’API vous permet de récupérer les informations résumées sur les messages du serveur en utilisant leurs identifiants uniques. Cette fonctionnalité offre un accès rapide aux détails essentiels d’un message sans devoir d’abord télécharger l’intégralité du contenu. Le fragment de code suivant illustre comment accéder aux informations résumées d’un message en utilisant l’API Python Aspose.Email :

Lister les messages en utilisant plusieurs connexions

Pour les opérations à forte charge, Aspose.Email propose le use_multi_connection propriété du Pop3Client classe pour utiliser plusieurs connexions lors de la récupération d’e-mails. Il est important de noter que l’activation de ce mode ne garantit pas toujours une amélioration des performances. Le fragment de code suivant vous montre comment établir une connexion à un serveur POP3, configurer le client pour autoriser jusqu’à 5 connexions simultanées et activer le mode multi-connexion afin de récupérer les informations sur les messages stockés sur le serveur :

import aspose.email as ae

client = ae.clients.pop3.Pop3Client("host", 995, "username", "password", ae.clients.SecurityOptions.AUTO)

client.connections_quantity = 5
client.use_multi_connection = ae.clients.MultiConnectionMode.ENABLE
message_info_coll = client.list_messages()