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?
Antworten
Zu viele Anzeigen?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...
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
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.
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.
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.
- See previous answers
- Weitere Antworten anzeigen