Capturer les mails en local avec FakeEmail

FakeEmail pour quoi faire ?

FakeEmail est un programme en Python qui va vous permettre de lire les mails envoyés par vos applications sans qu'ils sortent de la plate-forme de test. Tel un bouchon, il vous évitera d'inonder les boites mails de potentiels utilisateurs issus d'une base client.
Si vous n'êtes pas développeur, FakeEmail peut également vous servir à lire facilement les mails des applications installées sur votre machine sans avoir à configurer un serveur de mails.

Installation

Par Pip

  • pip install fakeemail

Sur Windows, cette commande est à lancer depuis l'invite de commande.

Par Github

  • Récupérer le dépôt Git de FakeEmail
    • git clone https://github.com/tomwardill/FakeEmail
  • Lancez l'installation (vous devez être root)
    • sudo python setup.py install

Erreur possible

twisted/runner/portmap.c:10:20: fatal error: Python.h: No such file or directory

Il doit vous manquer les paquets build-essential et/ou python-dev, l'exécution de la commande ci-dessous devrait résoudre le problème :
sudo apt-get install build-essential python-dev

Lancer FakeEmail

Manuellement :

fakeemail <port_smtp> <port_consultation_web> <interface_web_d_ecoute>

Exemple où je vais lancer fakeemail pour écouter le port 25 et être accessible via mon navigateur par le port 8080 (http://localhost:8080) :

fakeemail 25 8080 0.0.0.0

Erreur possible

twisted.internet.error.CannotListenError: Couldn't listen on any:25: [Errno 98] Address already in use.

Le système vous signale que le port 25, utilisé par défaut pour le protocole SMTP, est déjà utilisé. Plusieurs options s'offrent à vous :

- Utiliser un autre port que le port standard à l'aide de la commande suivante (ne pas oublier de configurer les services devant envoyer les mails sur ce nouveau port) :

fakeemail 2025 8082 0.0.0.0

- Arrêter le service utilisant le port 25

Pour savoir quel est le processus utilisant ce port : sudo netstat -plntu | grep 25 (la réponse se trouve à la fin de la ligne, après le /, j'ai rencontré sendmail et exim4)

Arrêter le service en question (remplacez sendmail par le service que vous avez trouvé précédemment) :

sudo service sendmail stop

 

Capture d'écran de l'interface

fakeemail

Assez sommaire, vous en conviendrez

 

Lien utile :