Vorwort
Wir wissen, dass der aktuelle .NET Core das SMTP-Protokoll nicht unterstützt. Wenn ich die Sendfunktion der E-Mail benutze, muss ich einige Drittanbieterkomponenten verwenden, um diesen Zweck zu erreichen. Heute stelle ich Ihnen zwei Open-Source-E-Mail-Versandkomponenten vor: MailKit und FluentEmail, die ich jeweils vorstellen werde.
MailKit
In ASP.NET Core kann man MailKit verwenden, um Nachrichten zu senden, es unterstützt plattformübergreifende, IMAP, POP3, SMTP und andere Protokolle.
Sie können es mit folgenden Methoden installieren:
Hier ist ein einfaches Beispiel für das Versenden einer E-Mail:
Wenn der Inhalt, den du senden möchtest, HTML ist, kannst du Folgendes verwenden:
Fluent Email ist ebenfalls ein Open-Source-Projekt, man kann Razor-Vorlagen verwenden, um E-Mails zu senden, und man kann mit einigen Drittanbieter-E-Mail-Absendern wie Mailgun integriert werden, aber dieses Paket unterstützt SMTP nur unter .NET 4.6. Du kannst es mit folgendem Befehl installieren:
Sie können eine E-Mail mit den einfachsten Methoden senden, so einfach wie diese:
Alternativ können Sie eine Razor-Vorlage verwenden, um folgende zu senden:
Email.DefaultRenderer sagt FulentEmail, welchen Renderer er verwenden soll (du kannst auch deinen eigenen implementieren), stellt dann eine Vorlage mit dem Inhalt der Vorlagen-String der Razor-Syntax bereit und verwendet anschließend UsingTemplate, um das Rendern zu rendern.
CSHTML-Vorlage auf der Festplatte
Wenn die Razor-Template-Datei groß und nicht elegant zu verwendenden Strings ist, kannst du die Template-Datei auf die Festplatte legen und sie wie folgt laden:
Nachrichten mit Mailgun senden
Manche wissen vielleicht nicht viel über Mailgun, Mailgun ist ein ausländisches Postdienstunternehmen, zum Beispiel ist der berühmte Github-E-Mail-Dienst dort gehostet, und das kostenlose Maingun-Konto kann 10.000 E-Mails pro Monat verschicken, was für viele kleine und mittelgroße Webseiten ausreicht.
Wenn Sie Mailgun zum Versenden von E-Mails verwenden, müssen Sie zunächst ein Konto registrieren und anschließend die von Mailgun bereitgestellte Rest-API nutzen, um die E-Mails, die Sie senden oder empfangen, zu verwalten. Mailgun mit FluentEmail-Integration muss nur Pakete wie dieses hinzufügen:
Nach der Registrierung von Mailgun erhalten Sie einen API-Schlüssel und einen Domainnamen auf zweiter Ebene, die Sie wie folgt konfigurieren müssen:
Zusammenfassung
Aus den obigen Beispielen sehen wir, dass MailKit und FluentEmail ihre eigenen Vor- und Nachteile haben. Der Vorteil von MailKit ist, dass es viele Protokolle unterstützt und plattformübergreifend ist, aber der Nachteil ist, dass es keine Unterstützung für Razor bietet, und wenn Sie Mailgun verwenden, müssen Sie es selbst integrieren. Der Vorteil von FlentEmail besteht darin, dass es Razor-Vorlagen unterstützt und Mailgun kapselt, aber der Nachteil ist, dass das SMTP-Protokoll noch keine Unterstützung für .NET Core bietet.
Zusammenfassend: Wenn du Mailgun zum Versenden von E-Mails verwendest, ist FluentEmail die Wahl, die du wählen solltest, und wenn du das SMTP-Protokoll nutzen möchtest, um mit deinem Mailserver E-Mails zu versenden, solltest du MailKit verwenden.
|