2009-08-30 52 views
36

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

35

Es gibt ein paar:

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

+0

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

+0

Die letzte Option funktionierte für mich, ich installierte einen [EML Reader] (http://www.emlreader.com/) zur besseren Ansicht. –

11

- 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> 
+0

Das setzt natürlich voraus, dass das OP C# verwendet, um seine Software zu schreiben. –

+1

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 :) –

+0

Sie können dies konfigurieren, ohne Code in der Konfigurationsdatei der Anwendung zu ändern: 'confguration \ system.net \ mailSettings \ smtp' Element. – Thorarin

5

Das Python smtpd Modul eine DebuggingServer hat, die alle Nachrichten zu stdout druckt. Wenn Sie sie in eine Datei umleiten, sollten Sie fertig sein.

+0

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

+0

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. –

+0

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. –

23

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.

5

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.

2

Papercut (http://papercut.codeplex.com/discussions) ist der einfachste und eleganteste bisher. Einfache EXE-Datei, die Port 25 überwacht und E-Mails anzeigt.

+0

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

+0

Papercut ist ein schreckliches Werkzeug, es kann nicht mehrere Nachrichten gleichzeitig verarbeiten. Ich würde empfehlen, es zu vermeiden. –

+0

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

Verwandte Themen