tycg_carviolation_BE/Traffic.Service/Implements/MailService.cs

50 lines
1.8 KiB
C#

using Microsoft.Extensions.Configuration;
using System;
using System.Net.Mail;
using Traffic.Data.ViewModels;
using Traffic.Repository.Interfaces;
using Traffic.Service.Interfaces;
namespace Traffic.Service.Implements
{
public class MailService : IMailService
{
private readonly IConfiguration _configuration;
public MailService(IConfiguration configuration)
{
_configuration = configuration;
}
/// <summary>
/// 傳送 Mail
/// </summary>
public void SendMail(MailViewModel mailViewModel)
{
using (MailMessage mail = new MailMessage())
{
mail.From = new MailAddress(mailViewModel.From);//寄件人
foreach (var toAddress in mailViewModel.To)
{
mail.To.Add(toAddress);//收件人
}
mail.Subject = mailViewModel.Subject;
mail.SubjectEncoding = mailViewModel.SubjectEncoding;
mail.Body = mailViewModel.Body;
mail.IsBodyHtml = mailViewModel.IsBodyHtml;
mail.BodyEncoding = mailViewModel.BodyEncoding;
mail.Priority = mailViewModel.Priority;
using (var smtp = new SmtpClient(_configuration["MailServer:Host"], Convert.ToInt16(_configuration["MailServer:Port"])))
{
var account = _configuration["MailServer:Account"];//mail account
var password = _configuration["MailServer:Password"];//mail password
smtp.Credentials = new System.Net.NetworkCredential(account, password);
smtp.EnableSsl = true;
smtp.Send(mail);
}
}
}
}
}