förord
Vi vet att nuvarande .NET Core inte stöder SMTP-protokollet, när jag använder e-postens sändningsfunktion behöver jag använda några tredjepartskomponenter för att uppnå syftet, idag ska jag introducera er för två öppen källkodskomponenter för e-postsändning, de är MailKit och FluentEmail, jag kommer att introducera dem respektive.
MailKit
I ASP.NET Core kan du använda MailKit för att skicka meddelanden, det stöder plattformsoberoende plattform, IMAP, POP3, SMTP och andra protokoll.
Du kan installera det med följande metoder:
Här är ett enkelt exempel på att skicka ett e-postmeddelande:
Om brödtexten du vill skicka är HTML kan du använda följande:
Fluent Email är också ett open source-projekt, du kan använda Razor-mallar för att skicka mejl, och du kan integrera med vissa tredjeparts e-postavsändare som Mailgun, men detta paket stöder endast SMTP under .NET 4.6. Du kan installera den med följande kommando:
Du kan skicka ett mejl med de mest grundläggande metoderna, så enkla som dessa:
Alternativt kan du använda en Razor-mall för att skicka:
Email.DefaultRenderer talar om för FulentEmail vilken renderer som ska användas (du kan också implementera din egen), tillhandahåller sedan en mallmall med innehållet i mallsträngen i Razor-syntaxen, och använder sedan UsingTemplate för att rendera renderingen.
CSHTML-mall på disk
Om Razor-mallfilen är stor och inte elegant att använda strängar kan du lägga mallfilen på disk och ladda den enligt följande:
Skicka meddelanden med Mailgun
Vissa kanske inte vet så mycket om Mailgun, Mailgun är ett utländskt postföretag, till exempel är den berömda Github-e-posttjänsten värd där, och det gratis Maingun-kontot kan skicka 10 000 mejl per månad, vilket räcker för många små och medelstora webbplatser.
När du använder Mailgun för att skicka e-post behöver du först registrera ett konto, och sedan kan du använda Rest API som Mailgun tillhandahåller för att hantera de mejl du skickar eller tar emot. Mailgun med FluentEmail-integration behöver bara lägga till paket som detta:
Efter att ha registrerat Mailgun tilldelas du en API-nyckel och ett domännamn på andra nivå, och du behöver konfigurera det enligt följande:
sammanfattning
Utifrån exemplen ovan kan vi se att MailKit och FluentEmail har sina egna för- och nackdelar. Fördelen med MailKit är att det stöder många protokoll och är plattformsoberoende, men nackdelen är att det inte ger stöd för Razor, och om du använder Mailgun måste du själv integrera det. Fördelen med FlentEmail är att det erbjuder stöd för Razor-mallar och kapslar in Mailgun, men nackdelen är att SMTP-protokollet ännu inte erbjuder stöd för .NET Core.
Sammanfattningsvis, om du använder Mailgun för att skicka e-post, är FluentEmail det val du bör välja, och om du vill använda SMTP-protokollet för att länka till din e-postserver för att skicka e-post, bör du använda MailKit.
|