J'ai beaucoup d'applications qui envoient des e-mails. Parfois, c'est un ou deux messages à la fois. Parfois, ce sont des milliers de messages.
En développement, je teste généralement en substituant ma propre adresse à toute adresse de destinataire. Je suis sûr que c'est ce que tout le monde fait, jusqu'à ce qu'ils en aient assez et trouvent une meilleure solution.
Je pensais à créer un serveur SMTP factice qui attrape simplement les messages et les sauvegarde dans une base de données SQLLite, ou un fichier mbox, ou autre.
Mais sûrement un tel outil existe déjà? Comment testez-vous l'envoi d'e-mails?
J'ai rencontré le même problème il y a quelques semaines et j'ai écrit ceci: http://smtp4dev.codeplex.com
Serveur SMTP factice compatible Windows 7/Vista/XP/2003/2010. Se trouve dans la barre d'état système et ne remet pas les messages reçus. Les messages reçus peuvent être rapidement visualisés, enregistrés et la source/structure inspectée. Utile pour tester/déboguer un logiciel qui génère des e-mails.
Il y a quelques années, je suis tombé sur la solution suivante pour la plate-forme .NET.
<system.net>
<mailSettings>
<smtp deliveryMethod="SpecifiedPickupDirectory">
<specifiedPickupDirectory pickupDirectoryLocation="C:\TestMailMessages\" />
</smtp>
</mailSettings>
</system.net>
Placez simplement le code ci-dessus dans votre App.config ou Web.config. Lorsque vous envoyez un message maintenant, il sera stocké sous forme de fichier dans le répertoire que vous avez fourni en tant que "pickupDirectoryLocation". Fonctionne comme un charme.
Il existe maintenant une version Web de Papercut.
De plus, la version basée sur l'application fonctionne bien pour moi.
Dumbster pourrait être ce que vous voulez alors. C'est un faux serveur SMTP open source écrit en Java. Il prend la place d'un véritable serveur SMTP, vous pouvez donc tester votre application dans un cadre réaliste, sans avoir de code stubed. Vous pouvez vous assurer que les bons messages sont envoyés au serveur SMTP sans réellement remettre les messages.
Ceci est similaire au smtp4dev sauf implémenté dans Java donc il fonctionne pour les développeurs non-Windows.
J'utilise "Test Mail Server Tool" de ToolHeap depuis des années.
http://www.toolheap.com/test-mail-server-tool/
Il s'agit d'une application simple qui s'exécute dans votre barre d'état système et transfère les e-mails dans un dossier. Il peut également être configuré pour ouvrir chaque e-mail dans votre programme de messagerie par défaut.
si vous utilisez Java j'utiliserais Wiser : Wiser est un simple serveur SMTP que vous pouvez utiliser pour les applications de test unitaire qui envoient du courrier.
Vous pouvez également utiliser netDumbster.