web-dev-qa-db-fra.com

Un serveur SMTP local simple

Je souhaite tester un code Java pour l'envoi de courrier électronique. Je ne souhaite utiliser aucun client de messagerie commerciale ou me connecter à des fournisseurs de messagerie externes (tels que Gmail ou Yahoo). J'aimerais savoir s'il existe un logiciel permettant à un utilisateur de configurer des adresses électroniques factices et un serveur (localement) pouvant être utilisés dans mon logiciel pour envoyer et recevoir des mails. Je veux juste tester les fonctionnalités du code Java.

39
sathish kumar

Pour tester le courrier électronique, essayez Dumbster. De leur page:

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

Le Dumbster s'intègre très facilement dans votre stratégie de test. Comme tant que votre application communique avec un serveur de messagerie via SMTP, puis le Dumbster peut être utilisé pour tester l’application sans modification du code.

Plusieurs fourchettes existent depuis que la page d'origine n'est plus disponible:

Plus peut être trouvé en utilisant un Github Search

24
Matthew Farwell

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 le lancer à partir de Linux/Mac/Windows.

15
Anton Shchastnyi

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

Il existe quelques autres logiciels similaires, mais c’est celui que j’ai utilisé et qui me convient raisonnablement.

8
Argyle

Vous pouvez utiliser Wiser dans SubEthaSMTP library, le but de Wiser est exactement ce que vous voulez, le test unitaire.

8
Hontvári Levente

Javamail-file-transport enregistre les courriers électroniques dans des fichiers au lieu de les envoyer via le serveur SMTP. 

Voir le projet javaMail extensions sur GitHub.

Il ajoute transport de fichier qui permet:

  • sauvegarder les mails dans des fichiers au format text au lieu de les envoyer
  • sauvegarder les mails dans des fichiers au format mbox au lieu de les envoyer
  • ajouter des informations de log au lieu d'envoyer un email
3
m-szalik

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
thegrunt

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

2
tomaj

utilisez Aspirin D'après la documentation: Aspirin est un serveur SMTP à envoi uniquement intégrable destiné aux développeurs Java.

1
Pavel Korshikov

docker incroyable
https://hub.docker.com/r/mailhog/mailhog/
(gitHub - https://github.com/mailhog/MailHog )
Ce menu fixe a deux ports:
Un port pour l’envoi d’e-mails SMTP (smtp: //0.0.0.0: 1025 /)
Un deuxième port pour l’affichage du courrier électronique sur le Web ( http://0.0.0.0:8025/ )

exécuter docker:
docker pull mailhog/mailhog
docker run --name=mailhog -d -p 1025:1025 -p 8025:8025 mailhog/mailhog

1
hana9

Vous pouvez utiliser smtp4dev . S'il vous plaît trouver plus de détails ici .

0
Amit Gupta