Un simple serveur SMTP local [fermé]


Je veux tester un code Java pour l'envoi d'e-mails. Je ne veux pas utiliser de client de messagerie commercial ou me connecter à des fournisseurs de messagerie externes (comme Gmail ou Yahoo). Je voudrais savoir s'il existe un logiciel qui permet à un utilisateur de configurer des adresses e-mail factices et un serveur (localement) qui peuvent être utilisés dans mon logiciel pour envoyer et recevoir des mails. Je veux juste tester la fonctionnalité du code Java.

Author: palacsint, 2011-12-22

10 answers

Pour les tests d'e-mail, essayez Dumbster. De cette page:

Le Dumbster est un faux serveur SMTP très simple conçu pour l'unité et applications de test du système qui envoient des messages électroniques. Il répond à toutes les commandes SMTP standard mais ne délivre pas de messages à l'utilisateur. Les messages sont stockés dans le Dumbster pour une extraction ultérieure et vérification.

Le Dumbster slots lui-même très facilement dans votre stratégie de test. Comme tant que votre application parle à un serveur de messagerie en utilisant SMTP puis le Dumbster peut être utilisé pour tester l'application sans modifications de code.

 24
Author: Matthew Farwell, 2012-01-05 18:42:36

Je préfère Faux SMTP pour cela. C'est une application de bureau (emballée dans un fichier jar). Comme il est écrit en Java, vous pouvez l'exécuter à la fois à partir de Linux/Mac / Windows

 15
Author: Anton Shchastnyi, 2014-10-13 15:31:43

Essayez GreenMail. Il est orienté vers l'utilisation de JUnit, mais il devrait faire ce dont vous avez besoin. Vous pouvez l'exécuter dans une instance JBoss ou demander à vos tests JUnit de s'envoyer du courrier, en fonction de vos besoins spécifiques.

Il existe quelques autres logiciels similaires, mais c'est celui que j'ai utilisé et j'en étais raisonnablement satisfait.

 8
Author: Argyle, 2011-12-22 05:37:08

Vous pouvez utiliser Wiser dans la bibliothèque SubEthaSMTP, le but de Wiser est exactement ce que vous voulez, les tests unitaires.

 8
Author: Hontvári Levente, 2016-05-03 12:30:28

Sur Leopard, vous pouvez démarrer un serveur SMTP local (Postfix) sur OS-X Leopard

sudo vi /System/Library/LaunchDaemons/org.postfix.master.plist

Avant la balise de fermeture à la fin:

<key>RunAtLoad</key> <true/> <key>KeepAlive</key> <true/>

Puis commencez la chose avec

sudo postfix start

Maintenant, vous vérifiez si le service fonctionne avec:

telnet localhost 25
 3
Author: thegrunt, 2012-12-19 17:47:06

Le javamail-file-transport enregistre les e-mails dans les fichiers au lieu de les envoyer via le serveur SMTP.

Voir le Extensions javaMail projet sur GitHub.

Il ajoute transport de fichiers qui permet:

  • enregistrer les mails dans des fichiers au format text au lieu de les envoyer
  • enregistrer les mails dans des fichiers au format mbox au lieu de les envoyer
  • ajouter des informations de journal au lieu d'envoyer un e-mail
 3
Author: m-szalik, 2014-03-03 15:17:47

J'ai utilisé Mailtrap quelques fois, et je peux le recommander.

 1
Author: tomaj, 2015-09-25 06:35:51

Incroyable docker
https://hub.docker.com/r/mailhog/mailhog/
(GitHub - https://github.com/mailhog/MailHog )
Ce docker a deux ports:
Un port pour l'envoi d'e-mails SMTP (smtp://0.0.0.0:1025/)
Un deuxième port vers l'affichage du courrier électronique sur le web ( http://0.0.0.0:8025/)

Exécutez le panneau:
docker pull mailhog/mailhog
docker run --name=mailhog -d -p 1025:1025 -p 8025:8025 mailhog/mailhog

 1
Author: hana9, 2017-04-24 14:41:29

Vous pouvez utiliser smtp4dev. Veuillez trouver plus de détails ici.

 0
Author: Amit Gupta, 2015-10-16 19:27:48

Utilisez l'aspirine De la documentation: Aspirin est un serveur SMTP à envoi intégré pour les développeurs Java.

 0
Author: Pavel Korshikov, 2017-03-20 10:48:50