it-swarm.com.de

Ein einfacher lokaler SMTP-Server

Ich möchte einen Java-Code zum Versenden von E-Mails testen. Ich möchte keinen kommerziellen E-Mail-Client verwenden oder eine Verbindung zu externen E-Mail-Anbietern (wie Google Mail oder Yahoo) herstellen. Ich möchte wissen, ob es eine Software gibt, mit der ein Benutzer Dummy-E-Mail-Adressen und Server (lokal) konfigurieren kann, die in meiner Software zum Senden und Empfangen von E-Mails verwendet werden können. Ich möchte nur die Funktionalität des Java-Codes testen.

39
sathish kumar

Versuchen Sie zum Testen von E-Mails Dumbster. Von ihrer Seite:

Der Dumbster ist ein sehr einfacher gefälschter SMTP-Server, der für die Einheit und. Systemtestanwendungen, die E-Mail-Nachrichten senden. Es antwortet auf alle Standard-SMTP-Befehle, liefert jedoch keine Meldungen an den Benutzer . Die Nachrichten werden zur späteren Extraktion im Dumbster gespeichert und Nachprüfung.

Der Dumbster fügt sich sehr leicht in Ihre Teststrategie ein. Wie Solange Ihre Anwendung über SMTP mit einem E-Mail-Server kommuniziert, wird der Mit Dumbster kann die Anwendung ohne Codeänderungen getestet werden.

Es gibt verschiedene Gabeln, da die Originalseite nicht mehr verfügbar ist:

Mehr kann mit einer Github-Suche gefunden werden.

24
Matthew Farwell

Ich bevorzuge Fake SMTP dafür. Es ist eine Desktop-App (in eine Jar-Datei gepackt). Da es in Java geschrieben ist, können Sie es sowohl unter Linux/Mac/Windows ausführen

15

Versuchen Sie GreenMail . Es ist auf die Verwendung von JUnit ausgerichtet, sollte aber das tun, was Sie brauchen. Sie können es in einer JBoss-Instanz ausführen oder Ihre JUnit-Tests E-Mails an sich selbst senden, je nach Ihren speziellen Anforderungen.

Es gibt ein paar andere ähnliche Softwarekomponenten, aber diese ist die, die ich verwendet habe und war damit einigermaßen zufrieden.

8
Argyle

Sie können Wiser in der SubEthaSMTP - Bibliothek verwenden. Wisers Zweck ist genau das, was Sie möchten.

8

Das javamail-file-transport speichert E-Mails in Dateien, anstatt sie über den SMTP-Server zu senden. 

Siehe das - javaMail-Erweiterungen -Projekt auf GitHub.

Es fügt file transport hinzu, was Folgendes ermöglicht:

  • e-Mails in Dateien im text-Format speichern, anstatt sie zu senden
  • e-Mails in Dateien im mbox-Format speichern, anstatt sie zu senden
  • protokollinformationen hinzufügen, anstatt E-Mails zu senden
3
m-szalik

unter Leopard können Sie unter OS-X Leopard einen lokalen SMTP-Server (Postfix) starten

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

vor dem schließenden Tag am Ende:

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

dann beginne die Sache mit

Sudo postfix start

jetzt prüfen Sie, ob der Dienst läuft:

telnet localhost 25
3
thegrunt

Ich habe Mailtrap ein paar Mal benutzt und kann es weiterempfehlen.

2
tomaj

verwenden Sie das Aspirin Aus den Dokumenten: Aspirin ist ein einbettbarer SMTP-Server für Java-Entwickler.

1
Pavel Korshikov

erstaunlicher Hafenarbeiter
https://hub.docker.com/r/mailhog/mailhog/
(gitHub - https://github.com/mailhog/MailHog )
Dieses Docker hat zwei Ports:
Ein Port zum Senden von SMTP-E-Mails (smtp: //0.0.0.0: 1025 /)
Ein zweiter Port für die E-Mail-Anzeige im Web ( http://0.0.0.0:8025/ )

docker ausführen:
docker pull mailhog/mailhog
docker run --name=mailhog -d -p 1025:1025 -p 8025:8025 mailhog/mailhog

1
hana9

Sie können smtp4dev verwenden. Weitere Informationen finden Sie hier .

0
Amit Gupta