80 lines
No EOL
2.5 KiB
C#
80 lines
No EOL
2.5 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using BMA.EHR.Recurit.Exam.Service.Data;
|
|
using Microsoft.AspNetCore.Mvc;
|
|
using Microsoft.EntityFrameworkCore;
|
|
using OfficeOpenXml;
|
|
using System.Data;
|
|
using System.Net;
|
|
using System.Net.Mail;
|
|
|
|
namespace BMA.EHR.Recurit.Exam.Service.Services
|
|
{
|
|
public class MailService
|
|
{
|
|
#region " Fields "
|
|
|
|
private readonly ApplicationDbContext _context;
|
|
private readonly IConfiguration _configuration;
|
|
private readonly IWebHostEnvironment _webHostEnvironment;
|
|
|
|
#endregion
|
|
|
|
#region " Constructors "
|
|
|
|
public MailService(ApplicationDbContext context,
|
|
IConfiguration configuration,
|
|
IWebHostEnvironment webHostEnvironment)
|
|
{
|
|
_context = context;
|
|
_configuration = configuration;
|
|
_webHostEnvironment = webHostEnvironment;
|
|
}
|
|
|
|
public static IConfigurationRoot Configuration
|
|
{
|
|
get
|
|
{
|
|
return new ConfigurationBuilder()
|
|
.SetBasePath(Directory.GetCurrentDirectory())
|
|
.AddJsonFile("appsettings.json")
|
|
.Build();
|
|
}
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region " Methods "
|
|
|
|
public void SendMailToUser(string subject, string body, string receiver)
|
|
{
|
|
try
|
|
{
|
|
var server = _configuration["Mail:Server"];
|
|
var user = _configuration["Mail:User"];
|
|
var password = _configuration["Mail:Password"];
|
|
var port = _configuration["Mail:Port"];
|
|
var from = _configuration["Mail:MailFrom"];
|
|
|
|
var client = new SmtpClient(server, Convert.ToInt32(port));
|
|
client.UseDefaultCredentials = false;
|
|
client.Credentials = new NetworkCredential(user, password);
|
|
client.EnableSsl = true;
|
|
client.DeliveryMethod = SmtpDeliveryMethod.Network;
|
|
|
|
var mail = new MailMessage();
|
|
mail.From = new MailAddress(from, "ทรัพยากรบุคคลกรุงเทพมหานคร");
|
|
mail.To.Add(receiver);
|
|
mail.Subject = subject;
|
|
mail.Body = body;
|
|
mail.IsBodyHtml = true;
|
|
client.Send(mail);
|
|
}
|
|
catch
|
|
{
|
|
throw;
|
|
}
|
|
}
|
|
#endregion
|
|
}
|
|
} |