diff --git a/Project-Unite/App_Start/IdentityConfig.cs b/Project-Unite/App_Start/IdentityConfig.cs
index 848daba..ef86a5e 100644
--- a/Project-Unite/App_Start/IdentityConfig.cs
+++ b/Project-Unite/App_Start/IdentityConfig.cs
@@ -20,20 +20,32 @@ namespace Project_Unite
{
public Task SendAsync(IdentityMessage message)
{
- var smtp = new SmtpClient("in-v3.mailjet.com", 25);
- smtp.UseDefaultCredentials = false;
- smtp.Credentials = new NetworkCredential("fcc885a166c73e91ba6592345f64dfeb", "84b7c56e71b6c9bd1b26a98222494823");
- var sMsg = new MailMessage("sys@michaeltheshifter.me", message.Destination);
-
- sMsg.Body = @"
+ try
+ {
+ var siteConfig = new ApplicationDbContext().Configs.FirstOrDefault();
+
+ var smtp = new SmtpClient(siteConfig.SMTPServer, siteConfig.SMTPPort);
+ smtp.UseDefaultCredentials = false;
+ smtp.Credentials = new NetworkCredential(siteConfig.SMTPUsername, siteConfig.SMTPPassword);
+ var sMsg = new MailMessage(siteConfig.SMTPReturnAddress, message.Destination);
+
+ sMsg.Body = @"
" + CommonMark.CommonMarkConverter.Convert(message.Body) + "
"; - sMsg.Subject = "[ShiftOS (Project: Unite)] " + message.Subject; - sMsg.IsBodyHtml = true; - smtp.Send(sMsg); - + sMsg.Subject = $"[{siteConfig.SiteName}] " + message.Subject; + sMsg.IsBodyHtml = true; + smtp.Send(sMsg); + } + catch (Exception ex) + { + var db = new ApplicationDbContext(); + db.AuditLogs.Add(new AuditLog("system", AuditLogLevel.Admin, $@"Failed to send email: + +{ex}")); + db.SaveChanges(); + } return Task.FromResult(0); } } diff --git a/Project-Unite/Models/AdminViewModels.cs b/Project-Unite/Models/AdminViewModels.cs index 5e4d562..23935d3 100644 --- a/Project-Unite/Models/AdminViewModels.cs +++ b/Project-Unite/Models/AdminViewModels.cs @@ -100,5 +100,12 @@ namespace Project_Unite.Models public string ReturnEmail { get; set; } public string UniteBotToken { get; set; } public string DiscordChannelId { get; set; } + + public string SMTPServer { get; set; } + public int SMTPPort { get; set; } + public string SMTPUsername { get; set; } + public string SMTPPassword { get; set; } + public bool UseTLSEncryption { get; set; } + public string SMTPReturnAddress { get; set; } } } \ No newline at end of file