Wie testen Sie das Senden von E-Mails von asp.net auf dem Entwicklungscomputer?

8

Wie erreiche ich das? Die SMTP-Klasse gibt einen Fehler auf dem Dev-Computer aus, wenn kein SMTP-Server gefunden wird. Gibt es eine Möglichkeit, das Senden von E-Mails auf dem Entwicklungscomputer zu testen?

    
Shawn Mclean 22.10.2010, 15:36
quelle

7 Antworten

14

Shawn,

Direkt von meiner web.config:

%Vor%

Dies funktioniert insofern gut, als Sie die "E-Mails" überprüfen können, die im Verzeichnis pickupDirectoryLocation gespeichert werden.

Probieren Sie es aus ...

    
jim tollan 22.10.2010, 16:03
quelle
5

Sie können die Dateien auf dem Datenträger nach configuring System.Net.Mail.SmtpClient ablegen, um eine deliveryMethode vom Typ SpecifiedPickupDirectory zu verwenden. Ich fand ein Beispiel für SO

    
Marijn 22.10.2010 15:42
quelle
3

Ich weiß, das ist ein alter Faden, aber ich bin gerade auf diesen Service gestoßen: Ссылка

Was ist verdammt brillant. Es dient als Dummy-SMTP-Server für Ihre App und sendet die E-Mails nicht wirklich, sondern ermöglicht Ihnen, sie einfach im Browser (oder über die API) anzuzeigen.

Es ist Killer.

    
Christopher Davies 30.04.2013 13:25
quelle
2

Es gibt ein paar mögliche Gründe dafür.
1) Ist Ihr Code für die Verwendung des lokalen SMTP-Servers während der Entwicklung konfiguriert und Sie haben ein Upgrade auf Windows 7 durchgeführt? Auf Ihrem lokalen Host ist kein SMTP-Server mehr verfügbar. Suchen Sie und laden Sie smtp4dev herunter, damit Ihr lokaler Host die gesendeten E-Mails abfangen kann.
2) Wenn Sie einen Remote-SMTP-Server verwenden, überprüfen Sie Ihre Windows-Firewall, um zu bestätigen, dass Sie ausgehende Nachrichten senden dürfen. Wenn dies der Fall ist, bestätigen Sie, dass Ihr Computer / Benutzername über die Rechte zum Senden von E-Mails über diesen Server verfügt. Ein schnelles Telnet: 25 an den Server sollte Sie wissen lassen, ob Ihre Verbindung verweigert wird oder nicht.

    
ARM 22.10.2010 15:48
quelle
2

Wenn Sie unter "Testen von E-Mails" meinen, dass Sie Test-E-Mails anstelle von formalen / Unit-Tests senden möchten, verwende ich gerne smtp4dev: Ссылка

Wie auf der Seite erklärt, handelt es sich um einen Dummy-SMTP-Server, der im Prinzip Ihre ausgehenden Nachrichten von Ihrer App abfängt und Ihnen ermöglicht, diese Nachrichten zu überprüfen und sicherzustellen, dass alles so funktioniert, wie Sie es erwarten. Es ist eine Windows-App, die hoffentlich kein Problem darstellt, wenn Sie für ASP.NET entwickeln.

    
Yohan P 22.10.2010 18:51
quelle
0

Normalerweise mache ich das, indem ich eine Wrapper-Klasse für den SmtpClient erstelle und dann den Wrapper in meinen Tests spottet. Dadurch werden die tatsächlichen Mail-Client / Server-Abhängigkeiten von meinen Komponententests entfernt. Der Wrapper selbst ist relativ dünn, so dass ich keine Tests dafür erstellen muss. Normalerweise teste ich meine Integrationsstufe für solche Dinge als explorative Tests in meiner Staging-Umgebung. Die Staging-Umgebung verwendet normalerweise einen Produktions-Mail-Server, jedoch mit "falschen" Daten - z. B. Kunden-E-Mail-Adressen, die durch meine eigenen ersetzt wurden.

Nachdem ich das gesagt habe, würde ich erwarten, dass der Client auch in Ihrem Entwicklungssystem fehlerfrei funktioniert, es sei denn, Ihr Mailserver ist durch eine Firewall geschützt oder etwas, das Ihr Dev-System davon abhält, mit ihm zu sprechen. Können Sie genauere Angaben zu dem aufgetretenen Fehler machen?

    
tvanfosson 22.10.2010 15:42
quelle
0

Ohne die Ausnahme zu sehen, können wir nicht viel tun. Solange die Details auf Ihrem dev-Rechner auf einen richtigen SMTP-Server verweisen und die korrekten Zugangsdaten haben, ist Ihr Code nicht das Problem und Sie sollten weiter unten in der Kette nachsehen. Ich hatte eine Ausnahme von der Zielmaschine, die die Anfrage ablehnte, obwohl alles andere richtig war. Nachdem wir die doppelte und dreifache Überprüfung der Anmeldedaten, das Senden von unserem Server usw. durchgeführt hatten, verfolgte ich den Fehler bis McAfee den E-Mail-Port 25 blockierte ...

    
Chao 22.10.2010 15:44
quelle

Tags und Links