Entwicklung SMTP-Server für Windows [geschlossen]
Frage
Ich bin für einen kostenlosen Test smptp Server dem Speichern von E-Mails in Dateien für meine Entwicklungstests. Da meine Entwicklungsumgebung Fenster ist es vorziehen, I-Test E-Mail-Server auf Windows zu laufen, aber ich kann auch jede andere Linux-basierte Alternativen zu installieren berücksichtigen.
Lösung
Es gibt einige Beispiele:
- SMTP Impostor (früher Antix SMTP-Server), NuGet Paket - sieht sehr gut aus
- Dumbster - fake SMTP-Server unter Apache-Lizenz
Oder Sie können es auch in den web.config , um nur zu speichern die E-Mails im Dateisystem (die Config Art und Weise von dem, was "seidig" hat in Code vorgeschlagen) ein:
<system.net>
<mailSettings>
<smtp deliveryMethod="SpecifiedPickupDirectory">
<specifiedPickupDirectory
pickupDirectoryLocation="c:\temp\mails\"/>
</smtp>
</mailSettings>
</system.net>
Marc
Andere Tipps
Ich weiß, dass dies eine alte Post aber ich weiß auch, über http://smtp4dev.codeplex.com/, das ich auch empfehlen. Er sitzt auf Sie Taskleiste und dann erscheint, wenn Sie E-Mails zu versenden. Es ermöglicht Ihnen, dann die E-Mail in einiger Tiefe zu untersuchen.
- Edit:
Dieser Rat nur gültig, wenn Sie verwenden .NET
Überprüfen Sie diese aus. Wenn Sie es in geeigneter Weise eingestellt, wird es nur speichern Sie Ihre E-Mails auf der Festplatte:)
SmtpClient client = ...;
client.PickupDirectoryLocation = @"c:\foo\emails\"; //"
client.DeliveryMethod = SmtpDeliveryMethod.SpecifiedPickupDirectory;
- Bearbeiten
Für den Fall, einige Leute es nicht bekommen, bedeutet dies, Sie nicht einen anderen SMTP-Server für Test / dev benötigen, Sie setzen einfach die Variable entsprechend.
- Bearbeiten
Für die Vollständigkeit, wie marc_s zeigt unten, können Sie dies in configs eingestellt schön über:
<system.net>
<mailSettings>
<smtp deliveryMethod="SpecifiedPickupDirectory">
<specifiedPickupDirectory
pickupDirectoryLocation="c:\foo\emails\" />
</smtp>
</mailSettings>
</system.net>
Der Python smtpd Modul hat eine DebuggingServer, die alle Nachrichten an stdout druckt. Wenn Sie sie in eine Datei umleiten, sollten Sie getan werden.
Wir haben Mailtrap für diese. Es gibt Ihnen Remote-SMTP-Server-Konto und direkten Zugriff auf alle E-Mails in ihm. So einfach gegeben smtp Berechtigungsnachweis in Ihrer Anwendung eingeben und danach alle E-Mails von Ihrem System gesendet sichtbar auf mailtrap sein werden. Und Sie können leicht Quellcode Mail aussehen, und laden Sie es auf Ihrem lokalen System. Sie können sehen, zB hier
Auf mailtrap können Sie so viel SMTP-Konto haben, wie Sie (anderes Konto für verschiedene Anwendungsumgebungen oder andere Anwendung), die Sie auch Zugriff auf Ihr Konto verwalten können (so nur vertrauenswürdig Leute werden sie Ihre E-Mails) und Sie können einige weiterleiten E-Mails an echten E-Mail-Adressen.
Im Folgenden sind die Links i gefunden
-
A Simple SMTP Server Mock für .NET \ - .NET
-
Dumbster - Java
-
mocksmtpd - Rubin
Verwenden Sie auf der Sprache und Plattform Ihrer Wahl abhängig.
Es gibt auch einen früheren Beitrag für .NET Testing SMTP mit .net
Papercut ( http://papercut.codeplex.com/discussions ) ist die einfachste und eleganteste ein so weit. Einfache exe-Datei, dass Streams auf Port 25 und Anzeigen von E-Mail.