Looking for Computer Science & Information Technology online
courses ?
Check my new web site: https://www.yesik.it !
Peut-être ne le savez-vous pas, mais Debian, comme beaucoup d'autres distributions Unix/Linux, dispose en standard d'un serveur de courrier électronique local.
La raison pour laquelle la configuration standard installe un MTA (Mail Transfert Agent – Logiciel de transfert de courrier électronique
(plus)) , est que certains utilitaires, dont at, ont besoin de pouvoir communiquer de manière asynchrone avec l'administrateur de la machine. Et le courrier électronique est la solution idéale pour cela.
Où les choses deviennent encore plus intéressantes, c'est qu'exim4, le MTA installé par défaut sous Debian, accepte les requêtes SMTP (Simple Mail Transfert Protocol – Un protocole utilisé pour envoyer des courriers électroniques.) . Ce qui permet de l'interfacer avec des clients de messagerie comme Evolution Mail. C'est ce que nous allons voir maintenant.

Euh... A quoi ça sert?
Vous vous demandez peut-être quel est l'intérêt de configurer un client mail pour accéder à la messagerie locale. A cela plusieurs réponses:
- Permettre aux différents utilisateurs d'un système Unix de communiquer entre eux? Bof, à l'époque où tout le monde dispose de son adresse e-mail, l'intérêt est réduit.
- Aider l'administrateur à consulter les messages envoyés par le système? Oui, pourquoi pas...
- Mais surtout, cela offre au développeur une plate-forme indépendante d'internet pour développer et tester les fonctionnalités d'envoi de message dans une application, sans avoir besoin d'installer et configurer un serveur SMTP exprès pour cela.
Sommaire
Unix mailbox
Avant d'aller plus loin, il faut savoir qu'un système Unix dispose traditionnellement d'un service de messagerie locale et des outils nécessaires pour envoyer et recevoir des messages avec ce service. Selon les distributions, les BAL (boîtes aux lettres) sont stockées à des emplacements différents. Sous Debian, elles sont dans /var/mail/user (où user est le nom de l'utilisateur).
La commande standard pour lire et écrire des messages est mail. Nous n'allons pas trop détailler cet utilitaire, par trop rustique pour les standards modernes de l'ergonomie, mais juste voir les manipulations de base.
Envoyer un message avec mail
Imaginons que l'utilisateur sylvain souhaite envoyer un message à l'utilisateur sonia de ma machine. La commande à utiliser sera la suivante:
sylvain$ mail sonia Subject: Réunion N'oublie pas la réunion du blah blah blah... A+, Sylvain . Cc:

Note:
La fin du message est délimitée par une ligne comportant uniquement un point.
Lire son courrier avec mail
De son côté, l'utilisateur sonia peut relire son courrier avec la même commande mail, mais invoquée ainsi:
sonia$ mail Mail version 8.1.2 01/15/2001. Type ? for help. "/var/mail/sonia": 1 message 1 new >N 1 sylvain@mobal.chi Thu Aug 13 15:30 19/599 Réunion & 1 Message 1: From sylvain@mobal.chicoree.fr Thu Aug 13 15:30:59 2009 Envelope-to: sonia@mobal.chicoree.fr Delivery-date: Thu, 13 Aug 2009 15:30:59 +0200 To: sonia@mobal.chicoree.fr Subject: RM-CM-)union From: Sylvain <sylvain@mobal.chicoree.fr> Date: Thu, 13 Aug 2009 15:30:58 +0200 N'oublie pas la réunion du blah blah blah... A+, Sylvain & q sonia$
Pour lire un message, il faut donner son numéro (1 dans l'exemple ci-dessus). Et pour quitter mail il faut taper q. Austère, n'est-ce pas?
SMTP
SMTP est un protocole standard pour envoyer du courrier électronique. Or, exim accepte les requêtes SMTP, il est possible d'envoyer du courrier à l'aide de ce protocole. Pas besoin pour cela de configurer un client: en effet, SMTP est un protocole texte – et il est possible d'envoyer des requêtes au serveur en utilisant une simple application de communication par socket comme telnet. Le port standard SMTP est 25. Vous pouvez donc commencer par vous connecter ainsi:
sh$ telnet localhost 25 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. 220 localhost ESMTP Exim 4.69 Tue, 18 Aug 2009 00:20:58 +0200
A partir de maintenant, vous êtes connecté à exim, et celui-ci attend que vous lui transmettiez des requêtes SMTP valides.
MAIL FROM: the-big-boss@votre-job.fr 250 OK RCPT TO: sylvain@localhost 250 Accepted DATA 354 Enter message, ending with "." on a line by itself Subject: Promotion acceptée! J'ai le plaisir de vous confirmer votre promotion. Bien entendu, celle-ci s'accompagnera d'une hausse de salaire substantielle! Cordialement, BB . 250 OK id=1MdAzX-00015G-1R QUIT 221 localhost closing connection Connection closed by foreign host.
Bien entendu, ici encore, un client graphique sera bien plus convivial que les outils de base. Donc, sans plus tarder, attachons nous donc à la configuration d'Evolution Mail!
Configurer Evolution Mail pour utiliser la BAL locale
Comme je l'ai dit plus haut, mail est plutôt rustique, mais ça fonctionne – même sans environnement graphique ou via une connexion ssh sur une liaison bas débit. Mais si vous avez fait une installation standard de Debian avec interface graphique Gnome, vous préférerez peut-être utiliser un client de messagerie plus moderne comme Evolution Mail.
Les copies d'écran ci-dessous détaillent pas-à-pas les étapes permettant de configurer ce client de messagerie afin d'envoyer et recevoir des messages sur les boîtes aux lettres locales. Le tout via exim4:
Recevoir un mail local
Maintenant que le compte est configuré dans Evolution, nous pouvons tester le fonctionnement de notre messagerie. Envoyez donc un message à partir du shell:
sylvain$ mail sylvain Subject: Hello smtp Hello smtp!!! . Cc:
Et maintenant, repassez sous Evolution Mail, et vous pourrez constater l'arrivée de votre message:

Piège:
Si rien n'arrive, pensez à vérifier qu'Evolution est bien en mode connecté. Le cas échéant, cliquez le bouton en bas à gauche de la fenêtre – ou passez par le menu Fichier > Travailler en mode connecté.
Envoyer un mail local
Nous pouvons aussi faire la manipulation inverse: envoyer un mail via Evolution et vérifier avec mail qu'il est bien arrivé dans la boîte locale:
sylvain$ mail Mail version 8.1.2 01/15/2001. Type ? for help. "/var/mail/sylvain": 1 message 1 new >N 1 sylvain@localhost Thu Aug 13 16:08 22/656 Hello from Evolution

Piège:
Si le message ne part pas tout seul après avoir cliqué sur Envoyer:
- Vérifiez que vous êtes en mode connecté;
- Cliquez sur le bouton Envoyer/Recevoir.
Conclusion
Sous prétexte de configurer un client de messagerie, cet article a été l'occasion de jeter un oeil sous le capot et de voir quelques éléments de compréhension du fonctionnent du courrier électronique.
Muni de ces informations et maintenant que vous pouvez consulter les messages locaux en même temps que votre courrier personnel, vous disposez d'une plate-forme qui vous permet d'expérimenter de manière conviviale avec l'envoi de mail par SMTP. Alors, pourquoi ne pas pousser vos investigations? Par exemple, en mettant en oeuvre une bibliothèque comme JavaMail pour permettre à vos applications d'envoyer des mails...