Email POP3 : récupérez vos emails avec cette classe Visual Basic 6 sans OCX

0 Flares Twitter 0 Facebook 0 Google+ 0 Pin It Share 0 Email -- Filament.io 0 Flares ×

Cette classe gère le protocole POP3 sans OCX (pure API).
POP3 est un protocole utilisé pour communiquer avec votre serveur d’email afin d’y récupérer les messages.

pop3class

Enfin, il n’est désormais plus le seul, d’autres protocoles plus ou moins évolués sont apparus pour y ajouter quelques fonctionnalités. Vous remarquerez certainement la nature des messages échangés avec le serveur : ils sont d’ordre textuel, c’est à dire facilement compréhensibles (ex: HELO, OK, …)
Ces serveurs étaient autrefois interrogés manuellement…

Bon alors, là c’est pour la petite histoire mais à notre “époque”, on n’a plus vraiment besoin de communiquer sois-même avec le serveur. Des clients de messagerie tels que Pegasus Mail, Thunderbird, Opera ou Outlook le font très bien pour nous. Les données envoyées prennent de la place et certainement plus encore que si elles avaient été pensées pour en prendre moins (hé 😉 c’est précisément là où je veux en venir… mais continuons). Chaque caractère d’une commande prend 1 octet (8 bytes). 1 octet peut représenter 256 états différents. Donc avec 1 octet on peut représenter 256 commandes différentes telles que “HELO”, “OK”, “PEU IMPORTE LA COMMANDE”… ce qui nous fait une économie de minimum 3 octets par commande envoyée (et je ne compte pas le reste d’infos inutiles qui sont échangées mais que nous ne voyons pas)
Alors ça paraît ridicule comme ça mais imaginez maintenant le nombre d’appels que vous faites à votre boîte mail par jour. Certains programmes le font automatiquement pour vous toutes les 5 minutes, parfois plus. Ca nous fait une moyenne de 288 appels par jour. Sans compter que pour chaque email il faut faire un autre appel. Disons, qu’on reçoit une dizaine de mail par jour (en comptant les spams), ça nous fait donc +- 300 appels par jour.
Mais attention, chaque appel envoie plusieurs commandes !
On va dire qu’un appel envoie en moyenne 4 commandes, donc dans mon exemple, on utiliserait 300 * 4 * 4 octets = 4800 octets minimum par jour. Alors qu’on peut facilement réduire ça à 300 * 4 = 1200 octets par jour.
Et vous n’êtes pas seul, des millions de gens font la même chose tout les jours eux aussi.
La vitesse et la qualité des échanges pourraient être grandement optimisées mais les standards sont ce qu’ils sont.

Si je vous parle de ça, c’est parce que j’ai récemment lu un article sur la bande passante et son coût pour les entreprises. Chez moi par exemple, je paie un forfait pour ma connexion internet avec un maximum de 15 GB de bande passante par mois. Je sais c’est ridicule mais c’est comme ça.

Et ce n’est même pas qu’une question d’argent. Les données pourraient être envoyées au minimum 4 fois plus vite si de simples changements étaient fait. Enfin, peut être que je me goure mais bon…

Peu importe, la classe utilise les sockets Winsock pour communiquer avec le serveur. Ces sockets sont eux-même gérés grâce à une autre classe (CSocket sur vbip.com), donc sans OCX.
L’exemple fourni avec les source récupère les emails et les effaces de la boîte si spécifié.

Télécharger la source : Source code for POP3 without OCX (pure API).

0 Flares Twitter 0 Facebook 0 Google+ 0 Pin It Share 0 Email -- Filament.io 0 Flares ×

Leave a Comment

*