public Task SendSiteMessage( ISiteContext siteSettings, SiteMessageModel model, string baseUrl) { return(Task.CompletedTask); }
public async Task SendSiteMessage( ISiteContext siteSettings, SiteMessageModel model, string baseUrl ) { var sender = await _emailSenderResolver.GetEmailSender(siteSettings.Id.ToString()); if (sender == null) { var logMessage = $"failed to send account confirmation email because email settings are not populated for site {siteSettings.SiteName}"; _log.LogError(logMessage); return; } string plainTextMessage = null; string htmlMessage = null; if (model.Tenant == null) { model.Tenant = siteSettings; } if (string.IsNullOrWhiteSpace(model.ConfigLookupKey)) { model.ConfigLookupKey = sender.Name; } try { if (!string.IsNullOrWhiteSpace(model.TextBody)) { plainTextMessage = await _viewRenderer.RenderViewAsString <SiteMessageModel>("SiteMessageTextPartial", model).ConfigureAwait(false); } if (!string.IsNullOrWhiteSpace(model.HtmlBody)) { htmlMessage = await _viewRenderer.RenderViewAsString <SiteMessageModel>("SiteMessageHtmlPartial", model).ConfigureAwait(false); if (!string.IsNullOrWhiteSpace(baseUrl)) { htmlMessage = cloudscribe.Web.Common.Html.HtmlHelper.ConvertUrlsToAbsolute(baseUrl, htmlMessage); } } await sender.SendEmailAsync( model.ToEmailCsv, siteSettings.DefaultEmailFromAddress, model.Subject.Replace("{SenderName}", model.ConfigLookupKey), plainTextMessage, htmlMessage, configLookupKey : siteSettings.Id.ToString() ).ConfigureAwait(false); } catch (Exception ex) { _log.LogError($"error sending account confirmation email: {ex.Message} stacktrace: {ex.StackTrace}"); } }