ส่งเมลการสมัคร
This commit is contained in:
parent
ae60457a3e
commit
a5c538874d
8 changed files with 203 additions and 5 deletions
|
|
@ -84,6 +84,7 @@ builder.Services.AddCors(options => options.AddDefaultPolicy(builder =>
|
||||||
builder.Services.AddTransient<CandidateService>();
|
builder.Services.AddTransient<CandidateService>();
|
||||||
builder.Services.AddTransient<PeriodExamService>();
|
builder.Services.AddTransient<PeriodExamService>();
|
||||||
builder.Services.AddTransient<MinIOService>();
|
builder.Services.AddTransient<MinIOService>();
|
||||||
|
builder.Services.AddTransient<MailService>();
|
||||||
builder.Services.AddTransient<CMSCandidateService>();
|
builder.Services.AddTransient<CMSCandidateService>();
|
||||||
|
|
||||||
// Add services to the container.
|
// Add services to the container.
|
||||||
|
|
|
||||||
|
|
@ -18,6 +18,7 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
||||||
private readonly MetadataDbContext _contextMetadata;
|
private readonly MetadataDbContext _contextMetadata;
|
||||||
private readonly IHttpContextAccessor _httpContextAccessor;
|
private readonly IHttpContextAccessor _httpContextAccessor;
|
||||||
private readonly MinIOService _minioService;
|
private readonly MinIOService _minioService;
|
||||||
|
private readonly MailService _mailService;
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
|
@ -26,12 +27,14 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
||||||
public CandidateService(ApplicationDbContext context,
|
public CandidateService(ApplicationDbContext context,
|
||||||
MetadataDbContext contextMetadata,
|
MetadataDbContext contextMetadata,
|
||||||
IHttpContextAccessor httpContextAccessor,
|
IHttpContextAccessor httpContextAccessor,
|
||||||
MinIOService minioService)
|
MinIOService minioService,
|
||||||
|
MailService mailService)
|
||||||
{
|
{
|
||||||
_context = context;
|
_context = context;
|
||||||
_contextMetadata = contextMetadata;
|
_contextMetadata = contextMetadata;
|
||||||
_httpContextAccessor = httpContextAccessor;
|
_httpContextAccessor = httpContextAccessor;
|
||||||
_minioService = minioService;
|
_minioService = minioService;
|
||||||
|
_mailService = mailService;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
@ -1707,6 +1710,18 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
||||||
if (candidate == null)
|
if (candidate == null)
|
||||||
throw new Exception(GlobalMessages.CandidateNotFound);
|
throw new Exception(GlobalMessages.CandidateNotFound);
|
||||||
|
|
||||||
|
if (status == "checkRegister")
|
||||||
|
{
|
||||||
|
var subject = "แจ้งผลการสมัครสอบคัดเลือก " + exam.Name;
|
||||||
|
var body = candidate.FirstName + " " + candidate.LastName + " สถานะการสมัครสอบ: รอเจ้าหน้าที่ตรวจสอบข้อมูล";
|
||||||
|
_mailService.SendMailToUser(subject, body, "kittapath@frappet.com");
|
||||||
|
}
|
||||||
|
if (status == "checkPayment")
|
||||||
|
{
|
||||||
|
var subject = "แจ้งผลการสมัครสอบคัดเลือก " + exam.Name;
|
||||||
|
var body = candidate.FirstName + " " + candidate.LastName + " สถานะการสมัครสอบ: รอเจ้าหน้าที่ตรวจสอบหลักฐานชำระเงิน";
|
||||||
|
_mailService.SendMailToUser(subject, body, "kittapath@frappet.com");
|
||||||
|
}
|
||||||
candidate.Status = status;
|
candidate.Status = status;
|
||||||
|
|
||||||
await _context.SaveChangesAsync();
|
await _context.SaveChangesAsync();
|
||||||
|
|
@ -1735,24 +1750,49 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
||||||
if (status != "rejectDelete")
|
if (status != "rejectDelete")
|
||||||
{
|
{
|
||||||
candidate.Status = status;
|
candidate.Status = status;
|
||||||
if (status == "rejectRegister" || status == "rejectPayment")
|
if (status == "rejectRegister")
|
||||||
{
|
{
|
||||||
|
var subject = "แจ้งผลการสมัครสอบคัดเลือก " + candidate.PeriodExam.Name;
|
||||||
|
var body = candidate.FirstName + " " + candidate.LastName + " มีคุณสมบัติสมัครสอบไม่ผ่านกรุณาตรวจสอบข้อมูล";
|
||||||
|
if (candidate.Email != null) _mailService.SendMailToUser(subject, body, candidate.Email);
|
||||||
|
candidate.RejectDetail = item.Reason;
|
||||||
|
}
|
||||||
|
if (status == "rejectPayment")
|
||||||
|
{
|
||||||
|
var subject = "แจ้งผลการสมัครสอบคัดเลือก " + candidate.PeriodExam.Name;
|
||||||
|
var body = candidate.FirstName + " " + candidate.LastName + " มีหลักฐานชำระเงินไม่ถูกต้องกรุณาตรวจสอบข้อมูล";
|
||||||
|
if (candidate.Email != null) _mailService.SendMailToUser(subject, body, candidate.Email);
|
||||||
candidate.RejectDetail = item.Reason;
|
candidate.RejectDetail = item.Reason;
|
||||||
}
|
}
|
||||||
else if (status == "payment" && candidate.PeriodExam.Fee == 0)
|
else if (status == "payment" && candidate.PeriodExam.Fee == 0)
|
||||||
{
|
{
|
||||||
|
var subject = "แจ้งผลการสมัครสอบคัดเลือก " + candidate.PeriodExam.Name;
|
||||||
|
var body = candidate.FirstName + " " + candidate.LastName + " สถานะการสมัครสอบ: รอเจ้าหน้าที่จัดที่นั่งสอบ";
|
||||||
|
if (candidate.Email != null) _mailService.SendMailToUser(subject, body, candidate.Email);
|
||||||
candidate.Status = "checkSeat";
|
candidate.Status = "checkSeat";
|
||||||
var num = periodExam.Count() + 1;
|
var num = periodExam.Count() + 1;
|
||||||
candidate.ExamIdenNumber = "CDC-" + num;
|
candidate.ExamIdenNumber = "CDC-" + num;
|
||||||
}
|
}
|
||||||
|
else if (status == "payment" && candidate.PeriodExam.Fee != 0)
|
||||||
|
{
|
||||||
|
var subject = "แจ้งผลการสมัครสอบคัดเลือก " + candidate.PeriodExam.Name;
|
||||||
|
var body = candidate.FirstName + " " + candidate.LastName + " สถานะการสมัครสอบ: รอชำระค่าสมัครสอบ";
|
||||||
|
if (candidate.Email != null) _mailService.SendMailToUser(subject, body, candidate.Email);
|
||||||
|
}
|
||||||
if (candidate.Status == "checkSeat")
|
if (candidate.Status == "checkSeat")
|
||||||
{
|
{
|
||||||
|
var subject = "แจ้งผลการสมัครสอบคัดเลือก " + candidate.PeriodExam.Name;
|
||||||
|
var body = candidate.FirstName + " " + candidate.LastName + " สถานะการสมัครสอบ: รอเจ้าหน้าที่จัดที่นั่งสอบ";
|
||||||
|
if (candidate.Email != null) _mailService.SendMailToUser(subject, body, candidate.Email);
|
||||||
var num = periodExam.Count() + 1;
|
var num = periodExam.Count() + 1;
|
||||||
candidate.ExamIdenNumber = "CDC-" + num;
|
candidate.ExamIdenNumber = "CDC-" + num;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
var subject = "แจ้งผลการสมัครสอบคัดเลือก " + candidate.PeriodExam.Name;
|
||||||
|
var body = candidate.FirstName + " " + candidate.LastName + " มีคุณสมบัติไม่ผ่านตามเงื่อนไข";
|
||||||
|
if (candidate.Email != null) _mailService.SendMailToUser(subject, body, candidate.Email);
|
||||||
_context.Candidates.Remove(candidate);
|
_context.Candidates.Remove(candidate);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1762,11 +1802,27 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
||||||
public async Task AdminPassCandidateService(string candidateId, string status)
|
public async Task AdminPassCandidateService(string candidateId, string status)
|
||||||
{
|
{
|
||||||
var candidate = await _context.Candidates.AsQueryable()
|
var candidate = await _context.Candidates.AsQueryable()
|
||||||
|
.Include(x => x.PeriodExam)
|
||||||
.FirstOrDefaultAsync(x => x.Id == Guid.Parse(candidateId));
|
.FirstOrDefaultAsync(x => x.Id == Guid.Parse(candidateId));
|
||||||
|
|
||||||
if (candidate == null)
|
if (candidate == null)
|
||||||
throw new Exception(GlobalMessages.CandidateNotFound);
|
throw new Exception(GlobalMessages.CandidateNotFound);
|
||||||
|
|
||||||
|
if (candidate.PeriodExam == null)
|
||||||
|
throw new Exception(GlobalMessages.ExamNotFound);
|
||||||
|
|
||||||
|
if (status == "done")
|
||||||
|
{
|
||||||
|
var subject = "แจ้งผลการสมัครสอบคัดเลือก " + candidate.PeriodExam.Name;
|
||||||
|
var body = candidate.FirstName + " " + candidate.LastName + " สถานะการสมัครสอบ: สอบคัดเลือกสำเร็จ";
|
||||||
|
if (candidate.Email != null) _mailService.SendMailToUser(subject, body, candidate.Email);
|
||||||
|
}
|
||||||
|
if (status == "checkPoint")
|
||||||
|
{
|
||||||
|
var subject = "แจ้งผลการสมัครสอบคัดเลือก " + candidate.PeriodExam.Name;
|
||||||
|
var body = candidate.FirstName + " " + candidate.LastName + " สถานะการสมัครสอบ: รอเจ้าหน้าที่สรุปคะแนนสอบ";
|
||||||
|
if (candidate.Email != null) _mailService.SendMailToUser(subject, body, candidate.Email);
|
||||||
|
}
|
||||||
candidate.Status = status;
|
candidate.Status = status;
|
||||||
|
|
||||||
await _context.SaveChangesAsync();
|
await _context.SaveChangesAsync();
|
||||||
|
|
|
||||||
80
Services/MailService.cs
Normal file
80
Services/MailService.cs
Normal file
|
|
@ -0,0 +1,80 @@
|
||||||
|
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
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -21,6 +21,7 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
||||||
private readonly MetadataDbContext _contextMetadata;
|
private readonly MetadataDbContext _contextMetadata;
|
||||||
private readonly IHttpContextAccessor _httpContextAccessor;
|
private readonly IHttpContextAccessor _httpContextAccessor;
|
||||||
private readonly MinIOService _minioService;
|
private readonly MinIOService _minioService;
|
||||||
|
private readonly MailService _mailService;
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
|
@ -29,12 +30,14 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
||||||
public PeriodExamService(ApplicationDbContext context,
|
public PeriodExamService(ApplicationDbContext context,
|
||||||
MetadataDbContext contextMetadata,
|
MetadataDbContext contextMetadata,
|
||||||
IHttpContextAccessor httpContextAccessor,
|
IHttpContextAccessor httpContextAccessor,
|
||||||
MinIOService minioService)
|
MinIOService minioService,
|
||||||
|
MailService mailService)
|
||||||
{
|
{
|
||||||
_context = context;
|
_context = context;
|
||||||
_contextMetadata = contextMetadata;
|
_contextMetadata = contextMetadata;
|
||||||
_httpContextAccessor = httpContextAccessor;
|
_httpContextAccessor = httpContextAccessor;
|
||||||
_minioService = minioService;
|
_minioService = minioService;
|
||||||
|
_mailService = mailService;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
@ -812,15 +815,30 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
||||||
if (candidate.Status == "checkSeat")
|
if (candidate.Status == "checkSeat")
|
||||||
{
|
{
|
||||||
candidate.SeatNumber = item.SeatNumber;
|
candidate.SeatNumber = item.SeatNumber;
|
||||||
|
var subject = "แจ้งผลการสมัครสอบคัดเลือก " + periodExam.Name;
|
||||||
|
var body = candidate.FirstName + " " + candidate.LastName + " สถานะการสมัครสอบ: รอเจ้าหน้าที่สรุปคะแนนสอบ";
|
||||||
|
if (candidate.Email != null) _mailService.SendMailToUser(subject, body, candidate.Email);
|
||||||
candidate.Status = "checkPoint";
|
candidate.Status = "checkPoint";
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
if (candidate.Status != "waiver")
|
||||||
|
{
|
||||||
|
var subject = "แจ้งผลการสมัครสอบคัดเลือก " + periodExam.Name;
|
||||||
|
var body = candidate.FirstName + " " + candidate.LastName + " สถานะการสมัครสอบ: สละสิทธิ์สอบ";
|
||||||
|
if (candidate.Email != null) _mailService.SendMailToUser(subject, body, candidate.Email);
|
||||||
|
}
|
||||||
candidate.Status = "waiver";
|
candidate.Status = "waiver";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
if (candidate.Status != "waiver")
|
||||||
|
{
|
||||||
|
var subject = "แจ้งผลการสมัครสอบคัดเลือก " + periodExam.Name;
|
||||||
|
var body = candidate.FirstName + " " + candidate.LastName + " สถานะการสมัครสอบ: สละสิทธิ์สอบ";
|
||||||
|
if (candidate.Email != null) _mailService.SendMailToUser(subject, body, candidate.Email);
|
||||||
|
}
|
||||||
candidate.Status = "waiver";
|
candidate.Status = "waiver";
|
||||||
}
|
}
|
||||||
periodExam.SetSeat = true;
|
periodExam.SetSeat = true;
|
||||||
|
|
@ -858,15 +876,30 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
||||||
candidate.PointC = item.PointC;
|
candidate.PointC = item.PointC;
|
||||||
candidate.ResultC = item.ResultC;
|
candidate.ResultC = item.ResultC;
|
||||||
candidate.Pass = item.Pass;
|
candidate.Pass = item.Pass;
|
||||||
|
var subject = "แจ้งผลการสมัครสอบคัดเลือก " + periodExam.Name;
|
||||||
|
var body = candidate.FirstName + " " + candidate.LastName + " สถานะการสมัครสอบ: สอบคัดเลือกสำเร็จ";
|
||||||
|
if (candidate.Email != null) _mailService.SendMailToUser(subject, body, candidate.Email);
|
||||||
candidate.Status = "done";
|
candidate.Status = "done";
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
if (candidate.Status != "waiver")
|
||||||
|
{
|
||||||
|
var subject = "แจ้งผลการสมัครสอบคัดเลือก " + periodExam.Name;
|
||||||
|
var body = candidate.FirstName + " " + candidate.LastName + " สถานะการสมัครสอบ: สละสิทธิ์สอบ";
|
||||||
|
if (candidate.Email != null) _mailService.SendMailToUser(subject, body, candidate.Email);
|
||||||
|
}
|
||||||
candidate.Status = "waiver";
|
candidate.Status = "waiver";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
if (candidate.Status != "waiver")
|
||||||
|
{
|
||||||
|
var subject = "แจ้งผลการสมัครสอบคัดเลือก " + periodExam.Name;
|
||||||
|
var body = candidate.FirstName + " " + candidate.LastName + " สถานะการสมัครสอบ: สละสิทธิ์สอบ";
|
||||||
|
if (candidate.Email != null) _mailService.SendMailToUser(subject, body, candidate.Email);
|
||||||
|
}
|
||||||
candidate.Status = "waiver";
|
candidate.Status = "waiver";
|
||||||
}
|
}
|
||||||
periodExam.SetSeat = true;
|
periodExam.SetSeat = true;
|
||||||
|
|
|
||||||
|
|
@ -15,8 +15,8 @@
|
||||||
"ConnectionStrings": {
|
"ConnectionStrings": {
|
||||||
"MongoConnection": "mongodb://127.0.0.1:27017",
|
"MongoConnection": "mongodb://127.0.0.1:27017",
|
||||||
"DefaultConnection": "server=127.0.0.1;user=root;password=P@ssw0rd;port=3308;database=bma_ehr_exam;Convert Zero Datetime=True;Allow User Variables=true;Pooling=True;",
|
"DefaultConnection": "server=127.0.0.1;user=root;password=P@ssw0rd;port=3308;database=bma_ehr_exam;Convert Zero Datetime=True;Allow User Variables=true;Pooling=True;",
|
||||||
// "MetadataConnection": "server=127.0.0.1;user=root;password=P@ssw0rd;port=3308;database=bma_ehr;Convert Zero Datetime=True;Allow User Variables=true;Pooling=True;"
|
"MetadataConnection": "server=127.0.0.1;user=root;password=P@ssw0rd;port=3308;database=bma_ehr;Convert Zero Datetime=True;Allow User Variables=true;Pooling=True;"
|
||||||
"MetadataConnection": "server=192.168.1.9;user=root;password=adminVM123;database=bma_ehr;Convert Zero Datetime=True;Allow User Variables=true;Pooling=True;"
|
// "MetadataConnection": "server=192.168.1.9;user=root;password=adminVM123;database=bma_ehr;Convert Zero Datetime=True;Allow User Variables=true;Pooling=True;"
|
||||||
},
|
},
|
||||||
"Jwt": {
|
"Jwt": {
|
||||||
"Key": "HP-FnQMUj9msHMSD3T9HtdEnphAKoCJLEl85CIqROFI",
|
"Key": "HP-FnQMUj9msHMSD3T9HtdEnphAKoCJLEl85CIqROFI",
|
||||||
|
|
@ -33,5 +33,12 @@
|
||||||
"SecretKey": "P@ssw0rd",
|
"SecretKey": "P@ssw0rd",
|
||||||
"BucketName": "bma-recruit"
|
"BucketName": "bma-recruit"
|
||||||
},
|
},
|
||||||
|
"Mail": {
|
||||||
|
"Server": "smtp.gmail.com",
|
||||||
|
"User": "suphonchai.ph@gmail.com",
|
||||||
|
"Password": "nnjazjcnwhepkxdm",
|
||||||
|
"MailFrom": "suphonchai.ph@gmail.com",
|
||||||
|
"Port": "587"
|
||||||
|
},
|
||||||
"Domain": "http://localhost:5173"
|
"Domain": "http://localhost:5173"
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -33,5 +33,12 @@
|
||||||
"SecretKey": "P@ssw0rd",
|
"SecretKey": "P@ssw0rd",
|
||||||
"BucketName": "bma-recruit"
|
"BucketName": "bma-recruit"
|
||||||
},
|
},
|
||||||
|
"Mail": {
|
||||||
|
"Server": "smtp.gmail.com",
|
||||||
|
"User": "suphonchai.ph@gmail.com",
|
||||||
|
"Password": "nnjazjcnwhepkxdm",
|
||||||
|
"MailFrom": "suphonchai.ph@gmail.com",
|
||||||
|
"Port": "587"
|
||||||
|
},
|
||||||
"Domain": "http://localhost:5173"
|
"Domain": "http://localhost:5173"
|
||||||
}
|
}
|
||||||
|
|
@ -33,5 +33,12 @@
|
||||||
"SecretKey": "P@ssw0rd",
|
"SecretKey": "P@ssw0rd",
|
||||||
"BucketName": "bma-recruit"
|
"BucketName": "bma-recruit"
|
||||||
},
|
},
|
||||||
|
"Mail": {
|
||||||
|
"Server": "smtp.gmail.com",
|
||||||
|
"User": "suphonchai.ph@gmail.com",
|
||||||
|
"Password": "nnjazjcnwhepkxdm",
|
||||||
|
"MailFrom": "suphonchai.ph@gmail.com",
|
||||||
|
"Port": "587"
|
||||||
|
},
|
||||||
"Domain": "http://localhost:5173"
|
"Domain": "http://localhost:5173"
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -33,5 +33,12 @@
|
||||||
"SecretKey": "P@ssw0rd",
|
"SecretKey": "P@ssw0rd",
|
||||||
"BucketName": "bma-recruit"
|
"BucketName": "bma-recruit"
|
||||||
},
|
},
|
||||||
|
"Mail": {
|
||||||
|
"Server": "smtp.gmail.com",
|
||||||
|
"User": "suphonchai.ph@gmail.com",
|
||||||
|
"Password": "nnjazjcnwhepkxdm",
|
||||||
|
"MailFrom": "suphonchai.ph@gmail.com",
|
||||||
|
"Port": "587"
|
||||||
|
},
|
||||||
"Domain": "http://localhost:5173"
|
"Domain": "http://localhost:5173"
|
||||||
}
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue