diff options
| author | Michael <[email protected]> | 2017-05-17 21:54:07 -0400 |
|---|---|---|
| committer | Michael <[email protected]> | 2017-05-17 21:54:07 -0400 |
| commit | 3108a4ccc60abebbc9566fbf7a66c24c1f2da857 (patch) | |
| tree | 6b70b1cd78e703ad2e2eeae324e0124148d876c0 /Project-Unite/App_Start/IdentityConfig.cs | |
| parent | b30aa70580b3b94e51834ccb47525c8cdaca1064 (diff) | |
| download | project-unite-3108a4ccc60abebbc9566fbf7a66c24c1f2da857.tar.gz project-unite-3108a4ccc60abebbc9566fbf7a66c24c1f2da857.tar.bz2 project-unite-3108a4ccc60abebbc9566fbf7a66c24c1f2da857.zip | |
grrrrr
Diffstat (limited to 'Project-Unite/App_Start/IdentityConfig.cs')
| -rw-r--r-- | Project-Unite/App_Start/IdentityConfig.cs | 51 |
1 files changed, 18 insertions, 33 deletions
diff --git a/Project-Unite/App_Start/IdentityConfig.cs b/Project-Unite/App_Start/IdentityConfig.cs index db5889a..b9ca64b 100644 --- a/Project-Unite/App_Start/IdentityConfig.cs +++ b/Project-Unite/App_Start/IdentityConfig.cs @@ -18,45 +18,30 @@ namespace Project_Unite { public class EmailService : IIdentityMessageService { - public async Task SendAsync(IdentityMessage message) + public async Task SendAsync(IdentityMessage msg) { try { var siteConfig = new ApplicationDbContext().Configs.FirstOrDefault(); + var message = new MailMessage(); + message.To.Add(new MailAddress(msg.Destination)); + message.Subject = "[ShiftOS] " + msg.Subject; + message.Body = msg.Body; + message.IsBodyHtml = true; - var smtp = new SmtpClient(siteConfig.SMTPServer, siteConfig.SMTPPort); - smtp.UseDefaultCredentials = false; - if (siteConfig.UseTLSEncryption) - smtp.EnableSsl = true; //This is misleading... We want TLS but all we have is SSL. Oh well. - smtp.UseDefaultCredentials = false; - smtp.Credentials = new NetworkCredential(siteConfig.SMTPUsername, siteConfig.SMTPPassword); - var sMsg = new MailMessage(siteConfig.SMTPReturnAddress, message.Destination); - - sMsg.Body = @"<img src=""https://cdn.discordapp.com/attachments/241613675545231360/280020406528901131/unknown.png""/> - -<h1>Message from the ShiftOS staff</h1> - -<p>" + CommonMark.CommonMarkConverter.Convert(message.Body) + "</p>"; - sMsg.Subject = $"[{siteConfig.SiteName}] " + message.Subject; - sMsg.IsBodyHtml = true; - smtp.DeliveryMethod = SmtpDeliveryMethod.Network; - var db = new ApplicationDbContext(); - db.AuditLogs.Add(new AuditLog("system", AuditLogLevel.Admin, $"Email sending...<br/><br/><strong>To:</strong> {sMsg.To}<br/><strong>Subject:</strong><br/>{sMsg.Subject}<br/><strong>Invoker IP:</strong>{HttpContext.Current.Request.UserHostAddress}")); - db.SaveChanges(); - smtp.SendCompleted += async (o, a) => + using (var smtp = new SmtpClient()) { - var alog = new AuditLog("system", AuditLogLevel.Admin, ""); - if (a.Cancelled == true) - alog.Description += "Send cancelled.<br/>"; - if (a.Error == null) - alog.Description += "No errors detected.</br>"; - else - alog.Description += $"Error:<br/><pre><code class=\"language-csharp\">{a.Error}</code></pre>"; - var ndb = new ApplicationDbContext(); - ndb.AuditLogs.Add(alog); - await ndb.SaveChangesAsync(); - }; - smtp.Send(sMsg); + var credential = new NetworkCredential + { + UserName = siteConfig.SMTPUsername, + Password = siteConfig.SMTPPassword + }; + smtp.Credentials = credential; + smtp.Host = siteConfig.SMTPServer; + smtp.Port = siteConfig.SMTPPort; + smtp.EnableSsl = siteConfig.UseTLSEncryption; + await smtp.SendMailAsync(message); + } } catch (Exception ex) { |
