summaryrefslogtreecommitdiff
path: root/Project-Unite/App_Start/IdentityConfig.cs
diff options
context:
space:
mode:
authorMichael <[email protected]>2017-05-18 12:50:42 -0400
committerMichael <[email protected]>2017-05-18 12:50:42 -0400
commit0d73c49fed8f3628d0ec80e6a876d6f54df2dd63 (patch)
treecf952994e66482844c602198d26051c495f8683c /Project-Unite/App_Start/IdentityConfig.cs
parent3108a4ccc60abebbc9566fbf7a66c24c1f2da857 (diff)
downloadproject-unite-0d73c49fed8f3628d0ec80e6a876d6f54df2dd63.tar.gz
project-unite-0d73c49fed8f3628d0ec80e6a876d6f54df2dd63.tar.bz2
project-unite-0d73c49fed8f3628d0ec80e6a876d6f54df2dd63.zip
new mail backend
Diffstat (limited to 'Project-Unite/App_Start/IdentityConfig.cs')
-rw-r--r--Project-Unite/App_Start/IdentityConfig.cs51
1 files changed, 21 insertions, 30 deletions
diff --git a/Project-Unite/App_Start/IdentityConfig.cs b/Project-Unite/App_Start/IdentityConfig.cs
index b9ca64b..dc36eb3 100644
--- a/Project-Unite/App_Start/IdentityConfig.cs
+++ b/Project-Unite/App_Start/IdentityConfig.cs
@@ -13,45 +13,36 @@ using Microsoft.AspNet.Identity.Owin;
using Microsoft.Owin;
using Microsoft.Owin.Security;
using Project_Unite.Models;
+using Reachmail.Easysmtp.Post.Request;
+using Reachmail.Easysmtp.Post.Response;
namespace Project_Unite
{
public class EmailService : IIdentityMessageService
{
- public async Task SendAsync(IdentityMessage msg)
+ public 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 siteConfig = new ApplicationDbContext().Configs.First();
+ var reachmail = Reachmail.Api.Create(siteConfig.SMTPUsername);
- using (var smtp = new SmtpClient())
- {
- 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)
+ var request = new DeliveryRequest
{
- var db = new ApplicationDbContext();
- db.AuditLogs.Add(new AuditLog("system", AuditLogLevel.Admin, $@"Failed to send email:
-
-{ex}"));
- await db.SaveChangesAsync();
+ FromAddress = "[email protected]",
+ Recipients = new Recipients {
+ new Recipient {
+ Address = msg.Destination
}
- return;
+ },
+ Subject = "[ShiftOS] " + msg.Subject,
+ BodyText = msg.Body,
+ BodyHtml = "html",
+ Tracking = true,
+ FooterAddress = "[email protected]",
+ SignatureDomain = "getshiftos.ml"
+ };
+
+ var result = reachmail.Easysmtp.Post(request);
+ return Task.FromResult<DeliveryResponse>(result);
}