Un webmail libre (français)

Je n’ai plus de compte gmail et c’est tant mieux ! Plus besoin de m’inquiéter de savoir si quelqu’un va lire mes courriels sur les serveurs de google. Même si on a rien à se repprocher, on n’a pas envie que quelqu’un lise le contenu de ses courriers, fusse ce quelqu’un un algorithme pour vous envoyer de la publicité ciblée.

Le remplacement de gmail par son propre service de messagerie est assez facile. Louer un nom de domaine, monter son serveur mail et un webmail associé sont en effet des tâches largement documentées ici et là. Que faire en cas de panne ou si on n’a vraiment pas la fibre technique pour monter son serveur mail ? Quel service de webmail respectueux des libertés peut-on utiliser ?

Il existe des solutions mettant en oeuvre des logiciels libres et pour ne rien gâter il y en a une Mailoo qui est basée en France. Quitte à se faire espionner par les services secrets, autant que celà soit par ceux de son propre pays. Mailoo est référencé par la FSF comme fournisseur de webmail libre, alternative libre des gmail, hotmail etc. L’espace de stockage est de 1Go, ce qui n’est pas mal à la vue de la gratuité du service.

Configuration minimale de Mutt | hidden.bressure.net

Mutt est devenu depuis peu mon client email préféré. Légèreté et fonctionnalités attendues sont délivrés avec brio par cette application en mode console.  Mutt contient tout ce qu’il faut pour écrire/recevoir des mails. Il faut juste penser à installer l’application carnet d’adresse: abook. Ce dernier a été développé à l’origine comme une extension de Mutt et est donc bien intégré à Mutt.

La suite sur mon blog avec Tor:

Configuration minimale de Mutt | hidden.bressure.net.

Serveur mail personnel incompatible avec AOL et BBOX

English: SMTP transfer model Blue arrows can b...
Image via Wikipedia

Dans mon billet du 7 juin 2011 j’expliquais comment mettre en place un serveur mail sur sa propre machine. Le paramétrage du DNS consistait uniquement à paramétrer un champs MX désignant l’adresse de sa propre machine. Cela permet de recevoir les mails qui nous sont adressés. L’envoie de mail ne faisait l’objet d’aucune configuration DNS.

Cette solution fonctionne bien dans 99% des cas. Dans 1% des cas même si la réception des mail fonctionne, l’envoie pose problème à certains serveurs de messagerie. Il est ainsi impossible d’envoyer des mails à des adresses dans le domaine aol.fr ou bbox.fr. Les serveurs de mails de ces domaines semblent vérifier en effet que l’IP de notre serveur est bien celle d’un serveur de mail de notre nom de domaine en effectuant un reverse DNS sur notre IP. Comme on n’a pas paramétré les DNS inverses pour notre IP, aol et bbox constatent que notre IP est celle d’un autre domaine et refuse de dialoguer avec Postfix, voici leur réponse (adresse mail du destinataire

et IP masquées):

  • bbox:
<xxxxxxxxx@bbox.fr>: host mx.bbox.fr[194.158.122.50] said: 550 5.7.1: Client host
    rejected: Rejected: DU0004 Utilisez le serveur SMTP de votre FAI (in reply
    to RCPT TO command)

Ce zèle (pour éviter le spam) est bien dommageable car il empêche le développement de messagerie personnelle. En faisant cela aol et bbox se comporte comme un censeur devant la boite au lettre de leurs utilisateurs empêchant tout facteur non autorisé à y déposer du courrier. Imaginez que votre boite au lettre physique n’accepte que du courrier en provenance d’un service postale donné alors vous ne pourrez plus recevoir du courrier déposé par la main ou un colis envoyé par livreur… Voilà un bel exemple de bêtise contraire contraire à l’esprit d’internet.

La moralité : bannissons l’usage de aol et bbox comme service de messagerie !

Port 25 bridé chez Bouygues Télécom

scheme of mobile phone
Image via Wikipedia

Les fournisseurs d’accès à internet (FAI) avait l’habitude de brider le port 25 utilisé pour envoyer des courrier électroniques. Ainsi si l’internaute veut envoyer un mail, il devait passer obligatoirement par le relais SMTP du FAI qui est paramétré pour autoriser les requête provenant de son réseau. Cela interdit à l’internaute de passer par un relais SMTP de son choix et constitue une atteinte à la liberté. Bien que cette décision était à l’origine faite pour empêcher les spammeurs d’utiliser les relais SMTP des FAI, la conséquence est d’autant plus préjudiciable que la mise en place d’une authentification aurait permi de contrôler les accès sans brider l’utilisateur dans son choix de relais SMTP.

Pour savoir si votre fournisseur d’internet mobile bride le port 25, il suffit d’utiliser telnet en entrant depuis une console sur votre terminal.
telnet mon.smtp.com 25

Bien sûr remplacer le serveur SMTP par celui que vous aurez choisi et différent de celui de votre FAI. Repérez dans la réponse la permière ligne qui vient aprés Escape character is. Elle doit être de de la forme

220 mon.smtp.com

Chez bouygues télécom avec un forfait grand public voici la réponse:

Escape character is '^]'.
220 mx2.bouyguestel.com -- Server ESMTP (MTA Server)

Ainsi les soit disant forfaits “full internet” ne le sont définitivement pas.

Serveur mail personnel

SMTP transfer model Blue arrows can be impleme...
Image via Wikipedia

Le webmail c’est pratique. Un navigateur suffit pour accéder à toute sa correspondance numérique. Malheureusement quand l’accès à internet est défaillant ou que le fournisseur de service est en panne, on ne peut pas consulter ses mails. On se rend compte alors de l’intérêt d’un client lourd qui rappatrie en local les mails.

La client lourd n’est cependant pas la solution à tous les maux. En effet les mails sont toujours hébergés sur un serveur, celui du webmail ou de son FAI. La boîte aux lettres de l’utilisateur n’est pas sur son poste mais toujours située ailleur. Ainsi quand le mail est réputé livré, il n’est en fait que dans la boite au lettre au bout du jardin ou dans le hall de l’immeuble, il faut encore que l’utilisateur aille relever le courrier. Que se passe-t-il si il n’y a pas d’internet à ce moment là ? Où que le fournisseur de mail est défaillant ?

La solution réside dans la mise en place d’un serveur mail personnel. C’est-à-dire avoir chez soi son MTA/MDA. Ainsi dès qu’un mail est réputé livré i.e. quand un utilisateur envoie un mail et qu’il n’a pas de retour qui l’insulte, le mail doit effectivement avoir été remis dans la boite de son destinataire. Comme le MDA est chez le destinataire on a résolu le problème.

Le programme Postfix couvre ce besoin. Ainsi Postfix est capable d’envoyer des mails soit directement via sendmail soit via SMTP quand l’utilisateur n’est pas sur la machine où s’exécute Postfix. De même Postfix va recevoir les mails qu’on nous envoi et qui proviennent par exemple du MTA du FAI de notre correspondant, et ira les mettre dans la boîte du bon utilisateur local à la machine. Postfix nous permet d’être autonome en envoi et en réception des mails.

L’installation de Postfix se fait naturellement depuis le dépôt et il ne reste qu’à modifier le fichier /etc/mailname pour y mettre le nom du serveur mail. Par exemple si notre adresse mail sera toto@monmail.com alors il faudra mettre monmail.com dans ce fichier.

Afin que nos correspondant puissent indiquer notre adresse toto@monmail.com dans le champ destinataire des mails, il faut que le domaine monmail.com soit enregistré comme champ MX (Mail Exchange) des entrées DNS. Ainsi quand le MTA de notre correspondant cherchera à qui s’adresser pour envoyer le mail à toto@monmail.com il trouvera quelle machine (IP) contacter. Commençons par déclarer un nom DNS de type adresse (A) qui associe à mx.monmail.com (nom arbitraire dans le domaine) notre adresse internet publique i.e. l’adresse de notre box ADSL en général. Puis créons une entrée de type Mail Exchange (MX) qui pointe vers mx.monmail.com.

A ce stade notre correspondant ou plus précisément son fournisseur de mail (google ou leur FAI par ex) va contacter notre box ADSL. IL reste à paramétrer le routeur de notre box ADSL (cas de la Freebox) pour rediriger les entrées sur le port 25 vers l’IP de notre machine qui fait office de serveur de mail.

A ce stade Postfix sera contacté et le mail va atterrir dans la boîte local de l’utilisateur toto i.e. /var/mail/toto. Nous pourrions en rester là car la commande mail permet de consulter ses mail en ligne de commande et un client lourd comme Evolution peut se paramétrer pour recevoir les mails en provenance du fichier mbox /var/mail/toto et envoyer les mails via sendmail. De ce fait envoi et réception passe par notre serveur mail Postfix.

Cependant nous voulons aussi pouvoir utiliser une machine différente de notre serveur mail pour envoyer (écrire) et recevoir (lire)  des messages. Autrement dit il faut que notre serveur mail soit accessible depuis n’importe quelle machine connectée à internet. Pour la lecture des mail cela peut être fait par le protocole IMAP et pour ce faire on doit installer un serveur IMAP tel que Dovecot. L’installation de Dovecot se fait naturellement depuis le dépot en faisant un

sudo apt-get install dovecot-postfix

Sous Ubuntu 11.04 la configuration par défaut est pleinement fonctionnelle: IMAP, authentification sécurisée et SSL (IMAP4S). L’authentification se base sur les utilisateurs locaux du serveur mail. L’envoi de mail se fera en SMTP et Postfix a été automatiquement reconfiguré pour que l’accès au MTA depuis l’extérieur soit possible pour n’importe quelle adresse de destinataire uniquement si l’authentification est correcte. Donc notre MTA ne sera pas un relais SMTP exploitable par des pirates spammeurs.

Nous avons alors une solution complète…pour l’utilisation d’un client lourd. Comme nous sommes exigeant nous voulons aussi avoir l’argent du beurre afin d’accéder à notre messagerie depuis n’importe quel navigateur. Nous devons installer un webmail. Roundcube est un webmail qui s’installe en un clin d’oeil. L’écran de connexion demande les identifiants utilisé pour le compte IMAP et le serveur IMAP qu’il faudra renseigné à localhost si le webmail s’exécute sur la même machine que le serveur IMAP.

Postfix, Dovecot et RoundCube nous donnent ainsi une solution complète et autonome de messagerie.