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.
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.
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
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.
Vous pouvez utiliser Wiser dans la bibliothèque SubEthaSMTP, le but de Wiser est exactement ce que vous voulez, les tests unitaires.
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
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
J'ai utilisé Mailtrap quelques fois, et je peux le recommander.
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
Utilisez l'aspirine De la documentation: Aspirin est un serveur SMTP à envoi intégré pour les développeurs Java.