From c6b559b7ab67d37078493254f6507c0cba65315a Mon Sep 17 00:00:00 2001 From: Paul Schneider Date: Thu, 12 Jul 2018 18:11:29 +0200 Subject: [PATCH] Getting info on email sent --- Yavsc.Abstract/Interfaces/IEmailSender.cs | 3 ++- Yavsc.Abstract/Manage/EmailSentViewModel.cs | 10 ++++++++++ Yavsc.Server/Services/MessageServices.cs | 15 +++++++++------ Yavsc/Controllers/Accounting/AccountController.cs | 7 ++++--- Yavsc/Views/Account/ConfirmEmailSent.cshtml | 4 ++-- rc-num.txt | 2 +- 6 files changed, 28 insertions(+), 13 deletions(-) create mode 100644 Yavsc.Abstract/Manage/EmailSentViewModel.cs diff --git a/Yavsc.Abstract/Interfaces/IEmailSender.cs b/Yavsc.Abstract/Interfaces/IEmailSender.cs index c9439e9f..901b77d0 100644 --- a/Yavsc.Abstract/Interfaces/IEmailSender.cs +++ b/Yavsc.Abstract/Interfaces/IEmailSender.cs @@ -1,5 +1,6 @@ using System.Threading.Tasks; +using Yavsc.Abstract.Manage; namespace Yavsc.Services { @@ -13,6 +14,6 @@ namespace Yavsc.Services /// email subject /// message /// the message id - Task SendEmailAsync(string username, string email, string subject, string message); + Task SendEmailAsync(string username, string email, string subject, string message); } } diff --git a/Yavsc.Abstract/Manage/EmailSentViewModel.cs b/Yavsc.Abstract/Manage/EmailSentViewModel.cs new file mode 100644 index 00000000..36c71bd9 --- /dev/null +++ b/Yavsc.Abstract/Manage/EmailSentViewModel.cs @@ -0,0 +1,10 @@ +namespace Yavsc.Abstract.Manage +{ + public class EmailSentViewModel + { + public string EMail { get; set; } + public string MessageId { get; set; } + public bool Sent { get; set; } + public string ErrorMessage { get; set; } + } +} \ No newline at end of file diff --git a/Yavsc.Server/Services/MessageServices.cs b/Yavsc.Server/Services/MessageServices.cs index 10b8e672..dca6e7e0 100755 --- a/Yavsc.Server/Services/MessageServices.cs +++ b/Yavsc.Server/Services/MessageServices.cs @@ -16,6 +16,7 @@ using Microsoft.Extensions.Logging; using Newtonsoft.Json; using Yavsc.Server.Helpers; using Microsoft.Extensions.OptionsModel; +using Yavsc.Abstract.Manage; namespace Yavsc.Services { @@ -98,9 +99,9 @@ namespace Yavsc.Services return await NotifyEvent(registrationIds, ev); } - public Task SendEmailAsync(string username, string email, string subject, string message) + public Task SendEmailAsync(string username, string email, string subject, string message) { - string messageId=null; + EmailSentViewModel model = new EmailSentViewModel{ EMail = email }; try { MimeMessage msg = new MimeMessage(); @@ -123,14 +124,16 @@ namespace Yavsc.Services smtpSettings.Port, SecureSocketOptions.None); sc.Send(msg); - messageId = msg.MessageId; + model.MessageId = msg.MessageId; } } - catch (Exception) + catch (Exception ex) { - return Task.FromResult(null); + model.Sent = false; + model.ErrorMessage = ex.Message; + return Task.FromResult(model); } - return Task.FromResult(messageId); + return Task.FromResult(model); } public Task ValidateAsync(string purpose, string token, UserManager manager, ApplicationUser user) diff --git a/Yavsc/Controllers/Accounting/AccountController.cs b/Yavsc/Controllers/Accounting/AccountController.cs index 82c545e4..06faecf1 100644 --- a/Yavsc/Controllers/Accounting/AccountController.cs +++ b/Yavsc/Controllers/Accounting/AccountController.cs @@ -20,6 +20,7 @@ using Newtonsoft.Json; namespace Yavsc.Controllers { + using Yavsc.Abstract.Manage; using Yavsc.Helpers; public class AccountController : Controller @@ -247,11 +248,11 @@ namespace Yavsc.Controllers public async Task SendEMailForConfirm() { var user = await _userManager.FindByIdAsync(User.GetUserId()); - ViewBag.EmailSent = await SendEMailForConfirmAsync(user); - return View("ConfirmEmailSent",user.Email); + var model = await SendEMailForConfirmAsync(user); + return View("ConfirmEmailSent",model); } - private async Task SendEMailForConfirmAsync(ApplicationUser user) + private async Task SendEMailForConfirmAsync(ApplicationUser user) { var code = await _userManager.GenerateEmailConfirmationTokenAsync(user); var callbackUrl = Url.Action("ConfirmEmail", "Account", diff --git a/Yavsc/Views/Account/ConfirmEmailSent.cshtml b/Yavsc/Views/Account/ConfirmEmailSent.cshtml index b598fd9c..cd9cf190 100755 --- a/Yavsc/Views/Account/ConfirmEmailSent.cshtml +++ b/Yavsc/Views/Account/ConfirmEmailSent.cshtml @@ -1,4 +1,4 @@ -@model string +@model Yavsc.Abstract.Manage.EmailSentViewModel @{ ViewData["Title"] = "S'il vous plait, veuillez confirmer votre adresse e-mail"; @@ -7,7 +7,7 @@

@ViewData["Title"].

- Un message vient de vous être envoyé, à votre adresse e-mail ( @Model , id:@ViewBag.EmailSent ), + Un message vient de vous être envoyé, à votre adresse e-mail ( @Model.Email , id:@Model.MessageId ), Veuillez s’il vous plait confirmer cette adresse de courrier en utilisant le lien hyper-texte qui s'y trouve.

diff --git a/rc-num.txt b/rc-num.txt index 244338cc..db0a8931 100644 --- a/rc-num.txt +++ b/rc-num.txt @@ -1 +1 @@ -21-beta5 +21-beta6