"EmailSettings": {
"EmailAddress": "youremail@example.com",
"Password": "yourpassword",
"SMTPHost": "smtp.yourdomain.com",
"SMTPPort": 587,
"SSL": true
}
services.Configure(Configuration.GetSection("EmailSettings"));
private readonly IOptions _smtpOptions;
public EmailController(IOptions smtpOptions)
{
_smtpOptions = smtpOptions;
}
public async Task SendEmail(string emailTo, string subject, string message)
{
var emailMessage = new MimeMessage();
emailMessage.From.Add(new MailboxAddress(_smtpOptions.Value.EmailAddress));
emailMessage.To.Add(new MailboxAddress(emailTo));
emailMessage.Subject = subject;
var emailBody = new BodyBuilder { HtmlBody = message };
emailMessage.Body = emailBody.ToMessageBody();
using var client = new SmtpClient();
await client.ConnectAsync(_smtpOptions.Value.SMTPHost, _smtpOptions.Value.SMTPPort, _smtpOptions.Value.SSL);
await client.AuthenticateAsync(_smtpOptions.Value.EmailAddress, _smtpOptions.Value.Password);
await client.SendAsync(emailMessage);
await client.DisconnectAsync(true);
}
@{
await SendEmail("recipient@example.com", "Hello from ASP.NET Core 5.0 Razor", "Hello World
This is a test email from ASP.NET Core 5.0 Razor
");
}
上一篇:ASP.NETCore5.0Razorpage在WindowsServer2012R2上的部署
下一篇:Asp.netcore5.0Responsecacheignoringdurationdirectiveoncontroller?