public Task SendAsync(string to, string subject, string body, bool isHtml = false) { return(mailer?.SendAsync(to, subject, body, isHtml)); }
public async Task SendNotifyAsync(FormInfo formInfo, List<TableStyle> styles, DataInfo dataInfo) { if (formInfo.IsAdministratorSmsNotify && !string.IsNullOrEmpty(formInfo.AdministratorSmsNotifyTplId) && !string.IsNullOrEmpty(formInfo.AdministratorSmsNotifyMobile)) { var isSmsEnabled = await _smsManager.IsEnabledAsync(); if (isSmsEnabled) { var parameters = new Dictionary<string, string>(); if (!string.IsNullOrEmpty(formInfo.AdministratorSmsNotifyKeys)) { var keys = formInfo.AdministratorSmsNotifyKeys.Split(','); foreach (var key in keys) { if (StringUtils.EqualsIgnoreCase(key, nameof(DataInfo.Id))) { parameters.Add(key, dataInfo.Id.ToString()); } else if (StringUtils.EqualsIgnoreCase(key, nameof(DataInfo.CreatedDate))) { if (dataInfo.CreatedDate.HasValue) { parameters.Add(key, dataInfo.CreatedDate.Value.ToString("yyyy-MM-dd HH:mm")); } } else { var value = dataInfo.Get<string>(key); parameters.Add(key, value); } } } await _smsManager.SendAsync(formInfo.AdministratorSmsNotifyMobile, formInfo.AdministratorSmsNotifyTplId, parameters); } } if (formInfo.IsAdministratorMailNotify && !string.IsNullOrEmpty(formInfo.AdministratorMailNotifyAddress)) { var isMailEnabled = await _mailManager.IsEnabledAsync(); if (isMailEnabled) { var templateHtml = await GetMailTemplateHtmlAsync(); var listHtml = await GetMailListHtmlAsync(); var keyValueList = new List<KeyValuePair<string, string>> { new KeyValuePair<string, string>("编号", dataInfo.Guid) }; if (dataInfo.CreatedDate.HasValue) { keyValueList.Add(new KeyValuePair<string, string>("提交时间", dataInfo.CreatedDate.Value.ToString("yyyy-MM-dd HH:mm"))); } foreach (var style in styles) { keyValueList.Add(new KeyValuePair<string, string>(style.DisplayName, dataInfo.Get<string>(style.AttributeName))); } var list = new StringBuilder(); foreach (var kv in keyValueList) { list.Append(listHtml.Replace("{{key}}", kv.Key).Replace("{{value}}", kv.Value)); } var htmlBody = templateHtml .Replace("{{title}}", formInfo.Title) .Replace("{{list}}", list.ToString()); await _mailManager.SendAsync(formInfo.AdministratorMailNotifyAddress, "[SSCMS] 通知邮件", htmlBody); } } if (formInfo.IsUserSmsNotify && !string.IsNullOrEmpty(formInfo.UserSmsNotifyTplId) && !string.IsNullOrEmpty(formInfo.UserSmsNotifyMobileName)) { var isSmsEnabled = await _smsManager.IsEnabledAsync(); if (isSmsEnabled) { var parameters = new Dictionary<string, string>(); if (!string.IsNullOrEmpty(formInfo.UserSmsNotifyKeys)) { var keys = formInfo.UserSmsNotifyKeys.Split(','); foreach (var key in keys) { if (StringUtils.EqualsIgnoreCase(key, nameof(DataInfo.Id))) { parameters.Add(key, dataInfo.Id.ToString()); } else if (StringUtils.EqualsIgnoreCase(key, nameof(DataInfo.CreatedDate))) { if (dataInfo.CreatedDate.HasValue) { parameters.Add(key, dataInfo.CreatedDate.Value.ToString("yyyy-MM-dd HH:mm")); } } else { var value = dataInfo.Get<string>(key); parameters.Add(key, value); } } } var mobile = dataInfo.Get<string>(formInfo.UserSmsNotifyMobileName); if (!string.IsNullOrEmpty(mobile)) { await _smsManager.SendAsync(mobile, formInfo.UserSmsNotifyTplId, parameters); } } } }
public async Task SendNotifyAsync(Site site, Settings settings, Comment comment) { if (settings.IsAdministratorSmsNotify && !string.IsNullOrEmpty(settings.AdministratorSmsNotifyTplId) && !string.IsNullOrEmpty(settings.AdministratorSmsNotifyMobile)) { var isSmsEnabled = await _smsManager.IsEnabledAsync(); if (isSmsEnabled) { var parameters = new Dictionary <string, string>(); if (!string.IsNullOrEmpty(settings.AdministratorSmsNotifyKeys)) { var keys = settings.AdministratorSmsNotifyKeys.Split(','); foreach (var key in keys) { if (StringUtils.EqualsIgnoreCase(key, nameof(Comment.Id))) { parameters.Add(key, comment.Id.ToString()); } else if (StringUtils.EqualsIgnoreCase(key, nameof(Comment.CreatedDate))) { if (comment.CreatedDate.HasValue) { parameters.Add(key, comment.CreatedDate.Value.ToString("yyyy-MM-dd HH:mm")); } } else { var value = comment.Get <string>(key); parameters.Add(key, value); } } } await _smsManager.SendAsync(settings.AdministratorSmsNotifyMobile, settings.AdministratorSmsNotifyTplId, parameters); } } if (settings.IsAdministratorMailNotify && !string.IsNullOrEmpty(settings.AdministratorMailNotifyAddress)) { var isMailEnabled = await _mailManager.IsEnabledAsync(); if (isMailEnabled) { var templateHtml = await GetMailTemplateHtmlAsync(); var listHtml = await GetMailListHtmlAsync(); var keyValueList = new List <KeyValuePair <string, string> > { new KeyValuePair <string, string>("编号", comment.Guid) }; if (comment.CreatedDate.HasValue) { keyValueList.Add(new KeyValuePair <string, string>("提交时间", comment.CreatedDate.Value.ToString("yyyy-MM-dd HH:mm"))); } keyValueList.Add(new KeyValuePair <string, string>("评论内容", comment.Content)); var list = new StringBuilder(); foreach (var kv in keyValueList) { list.Append(listHtml.Replace("{{key}}", kv.Key).Replace("{{value}}", kv.Value)); } var contentInfo = await _contentRepository.GetAsync(site, comment.ChannelId, comment.ContentId); var title = contentInfo?.Title ?? string.Empty; var htmlBody = templateHtml .Replace("{{title}}", title) .Replace("{{list}}", list.ToString()); await _mailManager.SendAsync(settings.AdministratorMailNotifyAddress, "[SSCMS] 通知邮件", htmlBody); } } if (settings.IsUserSmsNotify && !string.IsNullOrEmpty(settings.UserSmsNotifyTplId) && !string.IsNullOrEmpty(settings.UserSmsNotifyMobileName)) { var isSmsEnabled = await _smsManager.IsEnabledAsync(); if (isSmsEnabled) { var parameters = new Dictionary <string, string>(); if (!string.IsNullOrEmpty(settings.UserSmsNotifyKeys)) { var keys = settings.UserSmsNotifyKeys.Split(','); foreach (var key in keys) { if (StringUtils.EqualsIgnoreCase(key, nameof(Comment.Id))) { parameters.Add(key, comment.Id.ToString()); } else if (StringUtils.EqualsIgnoreCase(key, nameof(Comment.CreatedDate))) { if (comment.CreatedDate.HasValue) { parameters.Add(key, comment.CreatedDate.Value.ToString("yyyy-MM-dd HH:mm")); } } else { var value = comment.Get <string>(key); parameters.Add(key, value); } } } var mobile = comment.Get <string>(settings.UserSmsNotifyMobileName); if (!string.IsNullOrEmpty(mobile)) { await _smsManager.SendAsync(mobile, settings.UserSmsNotifyTplId, parameters); } } } }