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)? [fermé]

129

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 aux adresses des destinataires. Je suis sûr que c'est ce que font tout le monde, jusqu'à ce qu'ils en aient assez et trouvent une meilleure solution.

Je pensais créer un serveur SMTP factice qui capture simplement les messages et les vide dans une base de données SQLLite, ou un fichier mbox, ou autre.

Mais sûrement un tel outil existe-t-il déjà? Comment testez-vous l'envoi d'e-mails?

Patrick McElhaney
la source
42
@casperOne Pourquoi clore 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, améliorerait-elle Internet?
Patrick McElhaney
1
C'est une question de liste d'achats / de recommandation de produit (et aussi intrinsèquement subjective et ouverte: «comment testez-vous l'envoi d'e-mails»), dont aucune n'est plus adaptée au site.
casperOne
3
@casperOne Puis reformulez la question pour qu'elle ne soit pas aussi subjective. Je ne cherchais pas le meilleur produit de la catégorie X. Je demandais si la catégorie X existe. Quoi qu'il en soit, vous n'avez pas répondu à ma question. Convainquez-moi que la suppression de cette page améliorerait Internet et je la supprimerai moi-même.
Patrick McElhaney
12
@casperOne Je suis tombé sur cette question de Google demandant les options basées sur Windows (par opposition aux options Linux auxquelles j'ai eu une exposition précédente). J'ai trouvé tous les liens utiles. Cette page Web nous manquera cruellement.
justin.lovell
5
Eh bien, je cherchais juste un outil de serveur de messagerie Windows qui prend juste les mails de localhost et je l'ai trouvé simple et facile par cette question. La réponse positive est tout ce que la plupart des gens recherchent, donc je ne vois pas pourquoi vous voulez fermer cela car il fait ce que la majorité des gens attend.
sveri

Réponses:

84

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 dé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 les logiciels qui génèrent des e-mails.

rnwood
la source
+1 Un peu bogué mais la surcharge fait ce dont elle a besoin. Merci!
David
4
Bien quand ça marche mais très sujet aux crashs.
olefevre
Cela ressemble à une application brillante, malheureusement, elle se bloque pour moi chaque fois qu'un courrier est reçu (exécutant smtp4dev sur win7, envoi à partir du script de courrier électronique de test de la messagerie de la base de données SQL Server)
Jona
Je viens de télécharger ceci pour tester le code d'envoi d'e-mails via SharePoint. Je n'avais pas installé SMTP sur mon virtuel, donc cette application a fonctionné comme un charme. Gloire!
Ryan
2
Pour ce que ça vaut, sous Windows 7 - 64 Bit, smtp4dev ne fonctionnerait pas mais papercut.codeplex.com l'a fait. Les e-mails étaient générés à l'aide de JavaMail.
Ashutosh Jindal
73

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.

Joop
la source
3
Génial, aucune installation ... fonctionne très bien pour moi. Merci!
WildJoe
J'utilise SmtpClient dans une application Web .Net avec un hôte smtp spécifique défini au moment de la compilation. Je ne vois aucun changement de comportement basé sur l'ajout de ceci à la fin de mon web.config.
4
Ah! Lève une exception sauf si vous créez le dossier au préalable. Joli tour!
1
Petit truc génial avec aucune installation.
Mike Kruger
Nous avons eu le même problème lorsque nous travaillions avec une pile .NET - nous avons fini par créer ce service pour résoudre le problème
isNaN1247
18

Il existe maintenant une version Web de Papercut.

De plus, la version basée sur l'application fonctionne très bien pour moi.

Adam Seabridge
la source
14

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 vrai serveur SMTP, vous pouvez donc tester votre application dans un cadre réaliste, sans avoir de code écrasé. Vous pouvez vous assurer que les bons messages sont envoyés au serveur SMTP sans réellement remettre les messages.

Fredou
la source
9

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

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

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

Il y a aussi Papercut et Neptune , dommage qu'aucun de ceux-ci ne puisse fonctionner de manière portable.

Alix Axel
la source
J'ai finalement essayé ces derniers. Malheureusement, les deux continuent de planter.
Patrick McElhaney
4
Je viens d'essayer Papercut. Fonctionne très bien et a l'avantage de pouvoir afficher l'e-mail directement dans l'interface utilisateur.
Jeremy Wiebe
1
Papercut fonctionne. Dommage que ce ne soit que Windows. Voudrais voir cette plateforme multiplateforme.
Wim Deblauwe
6

J'utilise "Test Mail Server Tool" de 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 e-mail dans votre programme de messagerie par défaut.

Adrian Clark
la source
1
Également. Cela fonctionne juste.
Adaddinsane
5

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.

Kaki
la source