132 votes

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 des e-mails. Parfois, il s'agit d'un ou deux messages à la fois. Parfois, il s'agit de milliers de messages.

Dans le cadre du développement, je teste généralement en remplaçant les adresses des destinataires par ma propre adresse. Je suis sûr que c'est ce que font tous les autres, jusqu'à ce qu'ils en aient marre et trouvent une meilleure solution.

Je pensais créer un serveur SMTP factice qui se contente d'attraper les messages et de les déverser 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'un courriel ?

42 votes

@casperOne Pourquoi refermer cette question trois ans et demi plus tard ? C'est un problème simple avec une poignée de solutions utiles. Il n'y a pas eu de débat, de sondage ou de discussion approfondie. Si cette page devait disparaître des résultats de recherche Google, l'internet s'en trouverait-il amélioré ?

1 votes

Il s'agit d'une question de liste d'achats/de recommandation de produits (et aussi intrinsèquement subjective et ouverte : "comment testez-vous l'envoi d'un e-mail"), qui ne sont plus adaptées au site.

3 votes

@casperOne Alors reformulez la question pour qu'elle ne soit pas aussi subjective. Je ne cherchais pas le meilleur produit dans la catégorie X. Je demandais si la catégorie X existe. De toute façon, vous n'avez pas répondu à ma question. Convainquez-moi que la suppression de cette page rendrait l'internet meilleur, et je la supprimerai moi-même.

84voto

rnwood Points 1325

J'ai été confronté au même problème il y a quelques semaines et j'ai écrit ceci : http://smtp4dev.codeplex.com

Serveur SMTP factice compatible avec Windows 7/Vista/XP/2003/2010. Il se trouve dans la barre d'état système et ne transmet 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 les logiciels qui génèrent des e-mails.

0 votes

+1 Un peu bogué mais dans l'ensemble il fait ce dont il a besoin. Merci !

4 votes

Sympa quand ça marche, mais très sensible aux accidents.

0 votes

Cette application a l'air géniale, malheureusement elle plante pour moi à chaque fois qu'un mail est reçu (en utilisant smtp4dev sur win7, en envoyant depuis la base de données SQL Server Mail Test E-mail script).

73voto

Joop Points 1614

Il y a quelques temps, je suis tombé sur la solution suivante pour le problème de la Plate-forme .NET .

<system.net>
  <mailSettings>
    <smtp deliveryMethod="SpecifiedPickupDirectory">
      <specifiedPickupDirectory pickupDirectoryLocation="C:\TestMailMessages\" />
    </smtp>
  </mailSettings>
</system.net>

Il suffit de placer le code ci-dessus dans votre App.config ou Web.config. Lorsque vous enverrez un message, il sera stocké sous forme de fichier dans le répertoire que vous avez indiqué comme "pickupDirectoryLocation". Cela fonctionne comme un charme.

3 votes

Génial, zéro installation... ça marche très bien pour moi. Merci !

0 votes

J'utilise SmtpClient dans une application Web .Net avec un hôte smtp spécifique défini au moment de la compilation. Je ne constate aucun changement de comportement si j'ajoute ce paramètre à la fin de mon fichier web.config.

4 votes

Aha ! Lance une exception à moins que vous ne créiez le dossier avant. Bonne astuce !

18voto

aseabridge Points 860

Il existe désormais une version web de Papercut.

La version basée sur l'application fonctionne également très bien pour moi.

14voto

Fredou Points 9553

Dumbster pourrait être ce que vous voulez alors. Il s'agit d'un faux serveur SMTP open source écrit en Java. Il prend la place d'un vrai serveur SMTP, ce qui vous permet de tester votre application dans un environnement réaliste, sans avoir de code caché. Vous pouvez vous assurer que les bons messages sont envoyés au serveur SMTP sans avoir à les délivrer réellement.

0 votes

Ce lien est mort

9voto

txyoji Points 2760

C'est similaire à smtp4dev, sauf qu'il est implémenté en java, ce qui le rend accessible aux développeurs non-Windows.

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

0 votes

Sur mac, pour utiliser le port 25, exécutez la commande suivante dans un terminal, dans le même répertoire que le fichier que vous téléchargez : sudo java -jar DevNullSmtp.jar

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X