Ich bin auf der Suche nach einem kostenlosen Test Smptp-Server, der speichern kann E-Mails in Dateien für meine Entwicklungstests. Da meine Entwicklungsumgebung Windows ist, bevorzuge ich Test-E-Mail-Server, um auf Windows zu laufen, aber ich kann darüber nachdenken, andere Linux-basierte Alternativen zu installieren.Entwicklung SMTP-Server für Windows
Antwort
Es gibt ein paar:
- SMTP Impostor (ehemals Antix SMTP-Server), NuGet package - sieht sehr gut aus
- Dumbster - fake SMTP-Server unter Apache-Lizenz
Oder Sie auch festlegen es in Ihrem web.config, um nur die E-Mails im Dateisystem zu speichern (die Konfig Art von was "silky" im Code vorgeschlagen hat):
<system.net>
<mailSettings>
<smtp deliveryMethod="SpecifiedPickupDirectory">
<specifiedPickupDirectory
pickupDirectoryLocation="c:\temp\mails\"/>
</smtp>
</mailSettings>
</system.net>
Marc
- Edit:
Dieser Rat nur gültig, wenn Sie .NET sind
prüfen this 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
Nur für den Fall einige Leute es nicht bekommen, dies bedeutet, dass Sie nicht eine andere SMTP brauchen Server für test/dev, Sie setzen die Variable einfach entsprechend.
-
Für Vollständigkeit bearbeiten, wie marc_s unten zeigt, können Sie dies in configs gesetzt schön über:
<system.net>
<mailSettings>
<smtp deliveryMethod="SpecifiedPickupDirectory">
<specifiedPickupDirectory
pickupDirectoryLocation="c:\foo\emails\" />
</smtp>
</mailSettings>
</system.net>
Das setzt natürlich voraus, dass das OP C# verwendet, um seine Software zu schreiben. –
Ja. Du machst einen guten Punkt Martin, ich nahm an, dass er .NET verwendete, aber jetzt bemerkte, dass es nicht im ursprünglichen Post angegeben ist. Mein Fehler, in einem '.NET' Zustand zu sein :) –
Sie können dies konfigurieren, ohne Code in der Konfigurationsdatei der Anwendung zu ändern: 'confguration \ system.net \ mailSettings \ smtp' Element. – Thorarin
Das Python smtpd Modul eine DebuggingServer hat, die alle Nachrichten zu stdout druckt. Wenn Sie sie in eine Datei umleiten, sollten Sie fertig sein.
Ich hatte Python bereits installiert, so dass es ein paar Minuten dauerte, bis ich nach einem Beispiel suchte und dann den Debugging-Server implementierte. Ich habe ein kleines Problem mit der Anzeige von UTF-8-kodierten E-Mails. Wenn ich versuche, E-Mails über Google Mail zu verschicken, gibt es kein Problem mit den UTF-8-kodierten Nachrichten, aber das SMTP-Modul von Python druckt nicht-ASCII-Zeichen korrekt. Haben Sie Vorschläge zu diesem Thema? – Tolga
Im Allgemeinen müssen E-Mails mit quoted-printable oder base64-Kodierung kodiert und nur in 7-Bit-ASCII-Kodierung übertragen werden (suchen Sie nach MIME RFC bei Google). Während einige SMTP-Servererweiterungen das Senden von 8-Bit-E-Mails ermöglichen, sollten Sie sich nicht darauf verlassen. –
Der offizielle Weg in Python zur Verarbeitung von MIME-Nachrichten ist das E-Mail-Paket. Dies ist jedoch möglicherweise zu viel Aufwand - daher empfehle ich, alle Nachrichten in eine mbox-Datei zu schreiben (entweder durch direktes Anhängen oder über das Mailbox-Modul) und dann das Modul in Thunderbird zu öffnen. –
Im Folgenden sind die Links zu finden i
A Simple SMTP Server Mock for .NET \ - .NET
Dumbster - Java
mocksmtpd - Rubin
Verwenden Sie abhängig von der Sprache und Plattform Ihrer Wahl.
Es gibt auch einen früheren Beitrag für .NET Testing SMTP with .net
Ich weiß, dass dies eine alte Post ist aber auch über ich weiß http://smtp4dev.codeplex.com/ was ich würde auch empfehlen. Es befindet sich auf Ihrer Taskleiste und erscheint dann, wenn Sie E-Mails senden.Es erlaubt Ihnen, die E-Mail in einiger Tiefe zu untersuchen.
Wir haben dafür Mailtrap verwendet. Es gibt Ihnen Remote-SMTP-Server-Konto und direkten Zugriff auf alle Mails darin. Sie geben einfach die angegebene smtp-Berechtigung in Ihrer Anwendung ein und danach werden alle von Ihrem System gesendeten E-Mails auf der Mail-Trap-Datei angezeigt. Und Sie können den Quellcode der E-Mail leicht einsehen und auf Ihr lokales System herunterladen. Sie können beispielsweise here
On sehen mailtrap Sie so viel smtp-Konto haben können, 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 E-Mails an echte E-Mail-Adressen weiterleiten.
Papercut (http://papercut.codeplex.com/discussions) ist der einfachste und eleganteste bisher. Einfache EXE-Datei, die Port 25 überwacht und E-Mails anzeigt.
Bitte lesen Sie die Frage erneut: "Ich suche einen kostenlosen Test-SMTP-Server, der ** E-Mails in Dateien speichern kann **" - Unterstützt PaperCut dies? – Kev
Papercut ist ein schreckliches Werkzeug, es kann nicht mehrere Nachrichten gleichzeitig verarbeiten. Ich würde empfehlen, es zu vermeiden. –
Ich habe gerade Papercut ausprobiert und Sie können mit der rechten Maustaste auf die Mail klicken und die gespeicherte physische Datei anzeigen. Dies ist eine gute Software in meinen Büchern. – TheLegendaryCopyCoder
antix Standalone-Installation war die exakte Lösung für mein Problem. Dieser ist besser, da ich Probleme mit dem Python-Debugging-Server hatte, der nicht für UTF-8-codierte Nachrichten geeignet ist. – Tolga
Die letzte Option funktionierte für mich, ich installierte einen [EML Reader] (http://www.emlreader.com/) zur besseren Ansicht. –