*1. Create the Email Service Interface
*
public interface IEmailService
{
Task SendEmailAsync(
string recipientEmail,
string subject,
string body);
}
2. Implement the Email Service
using System.Net;
using System.Net.Mail;
public class EmailService : IEmailService
{
private readonly IConfiguration _configuration;
public EmailService(IConfiguration configuration)
{
_configuration = configuration;
}
public async Task SendEmailAsync(
string recipientEmail,
string subject,
string body)
{
var senderEmail =
_configuration["EmailSettings:Email"];
var senderPassword =
_configuration["EmailSettings:Password"];
using var mailMessage = new MailMessage
{
From = new MailAddress(senderEmail!),
Subject = subject,
Body = body,
IsBodyHtml = true
};
mailMessage.To.Add(recipientEmail);
using var smtpClient =
new SmtpClient("smtp.gmail.com", 587)
{
EnableSsl = true,
Credentials = new NetworkCredential(
senderEmail,
senderPassword)
};
await smtpClient.SendMailAsync(mailMessage);
}
}
3. Add Email Configuration
{
"EmailSettings": {
"Email": "your-email@gmail.com",
"Password": "your-app-password"
}
Top comments (0)