Comment développer et tester une application qui envoie des e-mails (sans remplir la boîte aux lettres de quelqu’un avec des données de test)?

J’ai beaucoup d’applications qui envoient du courrier électronique. 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 à toutes les adresses de destinataire. Je suis sûr que c’est ce que font les autres jusqu’à ce qu’ils en aient assez et qu’ils trouvent une meilleure solution.

Je pensais à créer un serveur SMTP factice qui attrape simplement les messages et les vide dans une firebase database SQLLite, un fichier mbox, etc.

Mais un tel outil existe déjà? Comment testez-vous l’envoi d’email?

J’ai fait face au 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. S’installe dans la barre d’état système et ne livre 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 temps, j’ai trouvé la solution suivante pour la plate-forme .NET .

       

Placez simplement le code ci-dessus dans votre App.config ou Web.config. Lorsque vous envoyez un message maintenant, il sera stocké sous la forme d’un 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, ce qui vous permet de tester votre application dans un cadre réaliste, sans qu’aucun code ne soit supprimé. Vous pouvez vous assurer que les bons messages sont envoyés au serveur SMTP sans réellement envoyer de messages.

Ceci est similaire à smtp4dev sauf implémenté dans java, donc cela fonctionne pour les développeurs non-windows.

http://www.aboutmyip.com/AboutMyXApp/DevNullSmtp.jsp

Il y a aussi Papercut et Neptune , tant pis, aucun d’entre eux ne peut être utilisé de manière portable.

J’utilise “Test Mail Server Tool” depuis ToolHeap depuis des années.

http://www.toolheap.com/test-mail-server-tool/

C’est une application simple qui s’exécute dans votre barre d’état système et vide les e-mails dans un dossier. Il peut également être configuré pour ouvrir chaque courrier électronique 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.

http://netdumbster.codeplex.com/