ASP.NET MVC: Sende E-Mail mit SendAsync (System.Net.Mail)
-
06-09-2019 - |
Frage
ist es eine Möglichkeit, in MVC die System.Net.Mail SendAsync Arbeit zu bekommen, anstelle des Verfahrens blockiert senden?
habe ich versucht, es zu benutzen, aber drücken Sie die „Seite beginnen ein asynchroner Vorgang des Async Attribut haben muss“ Fehler, die ich kann natürlich nicht lösen (oder kann ich?), Weil es keine ASPX-Seite mit einer @Page Richtlinie ist, wo ich konnte das Async-Attribut hinzufügen.
Hilfe wird sehr geschätzt: (
Lösung
Es sieht aus wie Sie Asynchronous Unterstützung für ASP.NET MVC . Siehe auch " Erweitern ASP.NET MVC für asynchrone Aktion “.
Diese Frage SO ist auch relevant.
Andere Tipps
Wenn Sie einen Dritten Dienst wie Google Mail verwenden Ihre E-Mail zu senden und sich auf SendEmail
oder SendAsync
Sie können Ihren eigenen SMTP-Server einzurichten, die dann auf gmail Relais wird. Der Vorteil ist, dass SendEmail
viel schneller zurück, und Sie können die ganze async Sache vergessen können.
So, wenn gmail lehnt Sie aus irgendeinem Grund die E-Mail wird nach wie vor in der lokalen Warteschlange sitzen.
Dies ist eine schnelle und schmutzige Art und Weise etwas zuverlässiges E-Mail-Senden-Setup zu erhalten.
Instructions (nicht persönlich getestet, aber ich habe vor Jahren *) oder sieht dies für Windows 7
* natürlich nur ich erinnerte mich, ich tue dies eine lange Zeit Umwandlung über async, nachdem er: - (
Sie möchten setzen die E-Mail in einer Datenbanktabelle betrachten und haben dann einen Dämon, der durch die Verarbeitung der Warteschlange E-Mails sendet.
a) if youre not sending billions of emails you can have a log of what you sent
b) you can resend if something fails.
abhängt, wie wichtig diese E-Mails, aber wenn theyre wichtig aus betriebswirtschaftlicher Sicht und mustnt verloren gehen, dann sollten Sie diesen Ansatz verwenden.