Wie entwickle und teste ich eine App, die E-Mails sendet (ohne die Mailbox einer Person mit Testdaten zu füllen)? [geschlossen]


129

Ich habe viele Apps, die E-Mails senden. Manchmal sind es ein oder zwei Nachrichten gleichzeitig. Manchmal sind es Tausende von Nachrichten.

In der Entwicklung teste ich normalerweise, indem ich Empfängeradressen durch meine eigene Adresse ersetze. Ich bin sicher, das tun alle anderen, bis sie es satt haben und eine bessere Lösung finden.

Ich habe darüber nachgedacht, einen Dummy-SMTP-Server zu erstellen, der nur die Nachrichten abfängt und in einer SQLLite-Datenbank oder einer Mbox-Datei oder was auch immer speichert.

Aber sicherlich ein solches Werkzeug ist bereits vorhanden? Wie testen Sie das Senden von E-Mails?


42
@casperOne Warum diese Frage dreieinhalb Jahre später schließen? Es ist ein einfaches Problem mit einer Handvoll nützlicher Lösungen. Es gab keine Debatte, Umfrage oder ausführliche Diskussion. Wenn diese Seite aus den Google-Suchergebnissen verschwinden würde, würde dies das Internet verbessern?
Patrick McElhaney

1
Es handelt sich um eine Einkaufsliste / Produktempfehlungsfrage (und auch von Natur aus subjektiv und offen: "Wie testen Sie das Senden von E-Mails?"), Von denen keine mehr für die Website geeignet ist.
CasperOne

3
@casperOne Formuliere dann die Frage neu, damit sie nicht so subjektiv ist. Ich habe nicht nach dem besten Produkt in Kategorie X gesucht. Ich habe gefragt, ob Kategorie X existiert. Wie auch immer, du hast meine Frage nicht beantwortet. Überzeugen Sie mich davon, dass das Entfernen dieser Seite das Internet verbessern würde, und ich werde es selbst löschen.
Patrick McElhaney

12
@casperOne Ich bin auf diese Frage von Google gestoßen, als ich nach den Windows-basierten Optionen gefragt habe (im Gegensatz zu den Linux-Optionen, denen ich zuvor ausgesetzt war). Ich fand alle Links hilfreich. Diese Webseite wird schmerzlich vermisst.
justin.lovell

5
Nun, ich war gerade auf der Suche nach einem Windows Mail-Server-Tool, das nur die Mails von localhost entgegennimmt, und fand diese Frage einfach und unkompliziert. Die optimierte Antwort ist alles, wonach die meisten Leute suchen, daher kann ich nicht verstehen, warum Sie dies schließen möchten, da es das tut, was die Mehrheit der Leute erwartet.
Sveri

Antworten:


84

Ich hatte vor einigen Wochen das gleiche Problem und schrieb Folgendes : http://smtp4dev.codeplex.com

Windows 7 / Vista / XP / 2003/2010 kompatibler Dummy-SMTP-Server. Sitzt in der Taskleiste und liefert die empfangenen Nachrichten nicht. Die empfangenen Nachrichten können schnell angezeigt, gespeichert und die Quelle / Struktur überprüft werden. Nützlich zum Testen / Debuggen von Software, die E-Mails generiert.


+1 Ein kleiner Buggy, aber Overrall macht das, wofür er gebraucht wird. Vielen Dank!
David

4
Schön, wenn es funktioniert, aber sehr absturzanfällig.
Olefevre

Dies sieht aus wie eine brillante App, die leider für mich jedes Mal abstürzt, wenn eine E-Mail empfangen wird (Ausführen von smtp4dev unter Win7, Senden vom E-Mail-Skript SQL Server Database Mail Test)
Jona

Laden Sie dies einfach herunter, um den Code zu testen, der E-Mails über Sharepoint sendet. Ich hatte kein SMTP auf meinem virtuellen installiert, daher funktionierte diese App wie ein Zauber. Ein großes Lob!
Ryan

2
Für das, was es wert ist, würde smtp4dev unter Windows 7 - 64 Bit nicht funktionieren, aber papercut.codeplex.com tat es. Die Mails wurden mit JavaMail generiert.
Ashutosh Jindal

73

Vor einigen Jahren bin ich auf die folgende Lösung für die .NET-Plattform gestoßen .

<system.net>
  <mailSettings>
    <smtp deliveryMethod="SpecifiedPickupDirectory">
      <specifiedPickupDirectory pickupDirectoryLocation="C:\TestMailMessages\" />
    </smtp>
  </mailSettings>
</system.net>

Fügen Sie einfach den obigen Code in Ihre App.config oder Web.config ein. Wenn Sie jetzt eine Nachricht senden, wird diese als Datei in dem Verzeichnis gespeichert, das Sie als "pickupDirectoryLocation" angegeben haben. Klappt wunderbar.


3
Super, keine Installation ... funktioniert großartig für mich. Vielen Dank!
WildJoe

Ich verwende SmtpClient in einer .NET-Webanwendung mit einem bestimmten SMTP-Host, der zur Kompilierungszeit festgelegt wurde. Ich sehe keine Verhaltensänderung, wenn ich dies am Ende meiner web.config hinzufüge.

4
Aha! Löst eine Ausnahme aus, es sei denn, Sie erstellen den Ordner zuvor. Guter Trick!

1
Toller kleiner Trick ohne Installation.
Mike Kruger

Wir hatten das gleiche Problem bei der Arbeit mit einem .NET-Stack - wir haben diesen Service erstellt , um das Problem zu lösen
isNaN1247

18

Es gibt jetzt eine webbasierte Version von Papercut.

Auch die App-basierte Version funktioniert gut für mich.


14

Dumbster könnte dann sein, was Sie wollen. Es ist ein gefälschter Open-Source-SMTP-Server, der in Java geschrieben wurde. Es ersetzt einen echten SMTP-Server, sodass Sie Ihre App in einer realistischen Umgebung testen können, ohne dass Code ausgeblendet wird. Sie können sicherstellen, dass die richtigen Nachrichten an den SMTP-Server gesendet werden, ohne tatsächlich Nachrichten zuzustellen.



6

Es gibt auch Papercut und Neptune , schade, dass keines davon auf tragbare Weise ausgeführt werden kann.


Ich habe es endlich versucht. Leider stürzen beide immer wieder ab.
Patrick McElhaney

4
Ich habe gerade Papercut ausprobiert. Funktioniert hervorragend und bietet die Bonusfunktion, dass die E-Mail direkt in der Benutzeroberfläche angezeigt werden kann.
Jeremy Wiebe

1
Papierschnitt funktioniert. Schade, dass es nur Windows ist. Möchte diese Cross-Plattform sehen.
Wim Deblauwe

6

Ich benutze seit Jahren "Test Mail Server Tool" von ToolHeap.

http://www.toolheap.com/test-mail-server-tool/

Es ist eine einfache App, die in Ihrer Taskleiste ausgeführt wird und E-Mails in einem Ordner ablegt. Es kann auch so konfiguriert werden, dass jede E-Mail in Ihrem Standard-E-Mail-Programm geöffnet wird.


1
Gleichfalls. Es funktioniert einfach.
Adaddinsane

5

Wenn Sie Java verwenden, würde ich Wiser verwenden : Wiser ist ein einfacher SMTP-Server, den Sie zum Testen von Einheiten verwenden können, die E-Mails senden.


Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.