Files
Partsource/PartSource.Automation/Services/EmailService.cs

75 lines
1.6 KiB
C#

using Microsoft.Extensions.Configuration;
using PartSource.Automation.Models.Configuration;
using System;
using System.Collections.Generic;
using System.Configuration;
using System.IO;
using System.Linq;
using System.Net.Mail;
using System.Text;
using System.Threading.Tasks;
namespace PartSource.Automation.Services
{
public class EmailService
{
private readonly EmailConfiguration _emailConfiguration;
public EmailService(IConfiguration configuration)
{
_emailConfiguration = configuration.GetSection("emailConfiguration").Get<EmailConfiguration>();
}
public void Send(string subject, string body, Attachment attachment = null)
{
using SmtpClient smtpClient = new SmtpClient
{
Host = _emailConfiguration.SmtpHost
};
using MailMessage mailMessage = new MailMessage
{
From = new MailAddress(_emailConfiguration.From),
Subject = subject,
Body = body,
IsBodyHtml = true,
};
if (attachment != null)
{
mailMessage.Attachments.Add(attachment);
}
foreach (string address in _emailConfiguration.To.Split(','))
{
mailMessage.To.Add(address);
}
smtpClient.Send(mailMessage);
}
public void Send(string to, string subject, string body)
{
using SmtpClient smtpClient = new SmtpClient
{
Host = _emailConfiguration.SmtpHost
};
using MailMessage mailMessage = new MailMessage
{
From = new MailAddress(_emailConfiguration.From),
Subject = subject,
Body = body,
IsBodyHtml = false,
};
foreach (string address in _emailConfiguration.To.Split(','))
{
mailMessage.To.Add(to);
}
smtpClient.Send(mailMessage);
}
}
}