Réseau - Web - GNU/Linux

2011 12 mai

Essai de récupération des mails avec IMAP et POP3 - Debian 5.0 Lenny

Rédigé par Marc GUILLAUME | Aucun commentaire
Article précédent Mail façon FAI - Debian 5.0 Lenny Article suivant

Tester la réception du courier avec le mail envoyé via Telnet.

John préférera certainement lire sont mail dans un programme de courrier confortable. Il doit donc avoir un moyen d'accéder à sa boîte aux lettres. Deux protocoles entrent alors en jeu :

  • POP3 (Post Office Protocol) est un protocole simple qui vous permet de récupérer vos mails depuis une seule boîte à lettres. Il est généralement utilisé pour collecter son courrier, bien que vous puissiez en laisser une copie sur le serveur, mais c'est un bidouillage et vous ne pouvez créer des répertoires multiples sur le serveur pour y classer votre courrier. Il économise l'espace disque sur le serveur, car les mails sont déplacés sur le disque dur de l'ordinateur de l'utilisateur. D'un autre côté vous ne pouvez créer des dossiers de rangement multiples sur le serveur pour classer vos mails. Il n'existe que la boîte inbox. C'est un peu ancien maintenant et pas très sympathique pour l'utilisateur.
  • IMAP (Internet Messaging Application Protocol) est avant tout axé sur la conservation de vos courriers sur le serveur, bien que vous puissiez aussi le récolter comme avec POP3. La boîte inbox est celle dans laquelle arrivent les courriers entrants, mais les utilisateurs peuvent également créer des dossiers et y ranger leurs mails. IMAP est très pratique quand vous voulez accéder à vos mails depuis différentes machines sans qu'il vous manque un mail car vous l'auriez relevé depuis une autre machine. L'inconvénient est que les utilisateurs négligeants laissent tous leurs mails sur le serveur jusqu'à saturer le disque dur, (à moins que vous n'utilisiez des quotas).

Test de POP3

Établissons une connexion POP3 pour récupérer le mail de John :

$> telnet localhost pop3

Le serveur réponds :

Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
+OK Dovecot ready.

Identifions-nous comme john :

user john@example.com

Le serveur devrait accepter :

+OK

Envoyons alors le mot de passe :

pass summersun

Le serveur devrait accepter le mot de passe :

+OK Logged in.

Demandons la liste des mails de John :

list

Dovecot vous annonce qu'il y a un mail dans la boite :

+OK 1 messages:
1 474
.

recupérez ce mail qui porte le numéro 1 :

retr 1

Dovecot vous envoit le mail :

+OK 474 octets
Return-Path: 

Fermez la connexion au serveur POP3 :

quit

Le serveur vous déconnecte :

+OK Logging out.
Connection closed by foreign host.

Bien entendu les utilisateurs ne vont pas utiliser TELNET pour lire leurs mails. Ils vont utiliser un client de mail plus confortable. C'était juste pour vous montrer le fonctionnement de base de POP et pour nous assurer que Dovecot se comporte correctement.

Test d'IMAP

Pour mener à bien la procédure ci-dessous (IMAP est assez compliqué) vous pouvez juste utiliser mutt pour créer une connexion IMAP :

$> mutt -f imap://john@example.com@localhost

Vous pouvez aussi ouvrir une simple connexion IMAP avec le serveur et entrer les commandes IMAP vous-même :

$> telnet localhost imap2

Vous devriez obtenir une connexion :

Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
* OK Dovecot ready.

Les commandes IMAP commencent toujours par un chiffre et utilisent ce même numéro pour la réponse. Du coup les commendent doivent être saisies avec le chiffre figurant au début de chaque ligne. Connectons-nous avec le nom d'utilisateur et le mot de passe :

1 login john@example.com summersun

Dovecot nous connecte :

1 OK Logged in.

Demandons à Dovecot une liste des répertoires mail de John :

2 list "" "*"

Il nous renvoit la liste :

* LIST (HasNoChildren) "." "INBOX"
2 OK List completed.

Sélectionons la boîte :

3 select "INBOX"

Dovecot nous envoit toute sorte d'informations concernant ce répertoire :

* FLAGS (Answered Flagged Deleted Seen Draft)
* OK [PERMANENTFLAGS (Answered Flagged Deleted Seen Draft *)] Flags permitted.
* 1 EXISTS
* 0 RECENT
* OK [UIDVALIDITY 1180039205] UIDs valid
* OK [UIDNEXT 3] Predicted next UID
3 OK [READ-WRITE] Select completed.

Nous voyons qu'il existe un email. Récupérons le :

4 fetch 1 all

IMAP se contente de fournir les informations de base sur cet email :

* 1 FETCH (FLAGS (Seen) INTERNALDATE .........
4 OK Fetch completed.

Pour le lire il faut le demander explicitement :

5 fetch 1 body

Le voici :

* 1 FETCH (BODY 474
Return-Path: 

Déconnectons-nous du serveur :

6 logout

Dovecot vous déconnecte :

* BYE Logging out
6 OK Logout completed.
Connection closed by foreign host.

POP3 et IMAP semblent donc fonctionner. Vous pouvez maintenant utiliser n'importe quel programme de courrier comme Kmail, Evolution ou Thunderbird/Icedove en y configurant un compte POP3 ou un compte IMAP. La manière la plus simple de contrôler une connexion cryptée est encore d'utiliser mutt :

$> mutt -f imaps://john@example.com@localhost

Si vous utiliser un autre programme de courrier notez que le nom d'utilisateur sera l'adresse mail le mot de passe étant 'summersun'. Vous pouvez essayer tous ces types de connexion :

  • POP3
  • IMAP
  • POP3 avec TLS/SSL activé
  • IMAP avec TLS/SSL activé

Lors de l'utilisation de TLS/SSL vous aurez probablement une alerte indiquant que le certificat du serveur n'est pas un certificat de confiance. Dovecot crée un certificat auto-signé. Si il ne vous convient pas, créez le votre :

$> openssl req -new -x509 -days 3650 -nodes -out /etc/ssl/certs/dovecot.pem -keyout /etc/ssl/private/dovecot.pem

Le certificat sera créé lorsque vous aurez répondu à quelques questions :

Generating a 1024 bit RSA private key
.........++++++
............................++++++
writing new private key to '/etc/ssl/certs/dovecot.pem'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:DE
State or Province Name (full name) [Some-Stat:Hamburg
Locality Name (eg, city) :Hamburg
Organization Name (eg, company) [Internet Widgits Pty Lt:workaround email service
Organizational Unit Name (eg, section) :
Common Name (eg, YOUR name) :mailtest.workaround.org
Email Address :postmaster@workaround.org

Bien entendu vous devrez entrer ici vos propres informations. L'élément le plus important étant le règlage du Common Name qui doit contenir le nom de machine pleinement qualifié (FQDN) de votre serveur. Autre chose, ce certificat a une validité de 10 ans (3650 jours) - ajustez la période selon vos souhaits.

N'omettez pas de fixer les bonnes permissions sur la clé privée pour qu'aucun utilisateur non habilité ne puisse la lire :

 $> chmod o= /etc/ssl/private/dovecot.pem
 

Il vous faudra ensuite redémarrer Dovecot pour qu'il prenne en compte votre nouveau certificat :


 $> /etc/init.d/dovecot restart

Note du traducteur : pour créer votre propre autorité de certification et générer des certificats qui pourront éventuellement ne pas générer d'alertes lisez l'article créer des certificats SSL.

Écrire un commentaire

Quelle est la deuxième lettre du mot hjpd ?

Fil RSS des commentaires de cet article

À propos

Yakati.info - Réseau - Web - GNU/Linux © 2017

Généré par PluXml en 0.037s  - Administration

Mes coordonnées

Marc Guillaume
contact[at]yakati.info
79150 ÉTUSSON

Crédits

Pour la gestion du contenu

Généré par PluXml, le Blog ou Cms sans base de données

Pour le contenu

Licence Creative Commons
Ce(tte) œuvre est mise à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 4.0 International.

Pour le thème

Thème SOLID de blacktie.co adapté pour PluXml