11 Stimmen

Wie testet man das Senden von E-Mails aus asp.net auf Entwicklungsmaschine?

Wie kann ich das erreichen? Die SMTP-Klasse gibt auf dem Entwicklungsrechner eine Fehlermeldung aus, dass kein SMTP-Server gefunden wurde. Gibt es eine Möglichkeit, das Senden von E-Mails auf dem Entwicklungsrechner zu testen?

15voto

jim tollan Punkte 22065

Shawn,

Direkt aus meiner web.config:

  <smtp deliveryMethod="SpecifiedPickupDirectory">
    <network host="ignored" />
    <specifiedPickupDirectory pickupDirectoryLocation="c:\email_c#" />
  </smtp>

Dies funktioniert insofern gut, als dass man die "E-Mails", die in der Datenbank gespeichert werden, überprüfen kann. pickupDirectoryLocation Verzeichnis.

Versuchen Sie es doch mal...

5voto

Marijn Punkte 10067

Sie können die Dateien auf die Festplatte auslagern, indem Sie configuring System.Net.Mail.SmtpClient eine deliveryMethod des Typs zu verwenden SpecifiedPickupDirectory fand ich ein Beispiel zu SO

4voto

Christopher Davies Punkte 4271

Ich weiß, dies ist ein altes Thema, aber ich bin gerade über diesen Dienst gestolpert: http://mailtrap.io/

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

Es ist mörderisch.

2voto

ARM Punkte 2375

Dafür gibt es mehrere mögliche Gründe.
1) Ist Ihr Code so konfiguriert, dass er während der Entwicklung einen lokalen SMTP-Server verwendet, und haben Sie ein Upgrade auf Windows 7 vorgenommen? Auf Ihrem localhost ist kein SMTP-Server mehr verfügbar. Suchen Sie smtp4dev und laden Sie es herunter, damit Ihr localhost die gesendeten E-Mails abfangen kann.
2) Wenn Sie einen entfernten SMTP-Server verwenden, überprüfen Sie Ihre Windows-Firewall, um sicherzustellen, dass Sie ausgehende E-Mails senden dürfen. Wenn ja, vergewissern Sie sich, dass Ihr Rechner/Benutzername die Rechte hat, E-Mails über diesen Server zu versenden. Ein kurzes telnet:25 an den Server sollte Ihnen zeigen, ob Ihre Verbindung abgelehnt wird oder nicht.

2voto

Yohan P Punkte 494

Unter der Annahme, dass Sie mit "Testversand von E-Mails" das Versenden von Test-E-Mails anstelle von formalen/Unit-Tests meinen, verwende ich gerne smtp4dev: http://smtp4dev.codeplex.com/

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

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X