asp.net-core                
            E-mail verzenden in .Net Core-apps met MailKit
        
        
            
    Zoeken…
Invoering
 Momenteel bevat .Net Core geen ondersteuning voor het verzenden van e-mails zoals System.Net.Mail van .Net. MailKit-project (dat beschikbaar is op nuget ) is een leuke bibliotheek voor dit doel. 
Nuget-pakket installeren
Install-Package MailKit
Eenvoudige implementatie voor het verzenden van e-mails
using MailKit.Net.Smtp;
using MimeKit;
using MimeKit.Text;
using System.Threading.Tasks;
namespace Project.Services
{
    /// Using a static class to store sensitive credentials
    /// for simplicity. Ideally these should be stored in
    /// configuration files
    public static class Constants
    {
        public static string SenderName => "<sender_name>";
        public static string SenderEmail => "<sender_email>";
        public static string EmailPassword => "email_password";
        public static string SmtpHost => "<smtp_host>";
        public static int SmtpPort => "smtp_port";
    }
    public class EmailService : IEmailSender
    {
        public Task SendEmailAsync(string recipientEmail, string subject, string message)
        {
            MimeMessage mimeMessage = new MimeMessage();
            mimeMessage.From.Add(new MailboxAddress(Constants.SenderName, Constants.SenderEmail));
            mimeMessage.To.Add(new MailboxAddress("", recipientEmail));
            mimeMessage.Subject = subject;
            mimeMessage.Body = new TextPart(TextFormat.Html)
            {
                Text = message,
            };
            using (var client = new SmtpClient())
            {
                client.ServerCertificateValidationCallback = (s, c, h, e) => true;
                client.Connect(Constants.SmtpHost, Constants.SmtpPort, false);    
                client.AuthenticationMechanisms.Remove("XOAUTH2");
                // Note: only needed if the SMTP server requires authentication
                client.Authenticate(Constants.SenderEmail, Constants.EmailPassword);
                client.Send(mimeMessage);
                client.Disconnect(true);
                return Task.FromResult(0);
            }
        }        
    }       
    
}
Modified text is an extract of the original Stack Overflow Documentation
        Licentie onder CC BY-SA 3.0
        Niet aangesloten bij Stack Overflow