using System.Text; using Abp.Configuration; using Abp.Dependency; using Abp.Domain.Uow; using Abp.Net.Mail; using VberZero.BaseSystem; using VberZero.BaseSystem.Users; using VberZero.Configuration; using VberZero.Net.Emailing; using VberZero.Tools.StringModel; namespace VberZero.DomainService.Calendar; public class CalendarEmail : EmailerBase, ICalendarEmail, ITransientDependency { public CalendarEmail(IEmailTemplateProvider emailTemplateProvider, IEmailSender emailSender, ICurrentUnitOfWorkProvider unitOfWorkProvider, IUnitOfWorkManager unitOfWorkManager, ISettingManager settingManager, IAppConfigurationAccessor appConfigurationAccessor) : base(emailTemplateProvider, emailSender, unitOfWorkProvider, unitOfWorkManager, settingManager, appConfigurationAccessor) { } private string DlStyle = "padding-left: 2em;padding-right:5px"; public async Task SendCalendarNotifyAsync(User user, SysCalendar calendar) { await CheckMailSettingsEmptyOrNull(); var emailTemplate = GetTitleAndSubTitle(user.TenantId, "日程提醒", calendar.Title); var mailMessage = new StringBuilder(); mailMessage.AppendLine("
"); //mailMessage.AppendLine($"日程信息: { calendar.Title}
"); if (calendar.Start != null) { mailMessage.AppendLine($"开始日期: {calendar.Start.Value:yyyy-MM-dd HH:mm}
"); } if (calendar.End != null) { mailMessage.AppendLine($"结束日期: {calendar.End.Value:yyyy-MM-dd HH:mm}
"); } mailMessage.AppendLine($"日程详情: {calendar.Description}
"); mailMessage.AppendLine("
"); var link = $"{Configuration["App:WebSiteRootAddress"].Ew("/")}Home/Calendar"; mailMessage.AppendLine("
"); mailMessage.AppendLine("
"); mailMessage.AppendLine("
"); mailMessage.AppendLine("
"); mailMessage.AppendLine("点击按钮跳转到日程

"); mailMessage.AppendLine($"立即跳转"); mailMessage.AppendLine("
"); mailMessage.AppendLine("
"); mailMessage.AppendLine("复制链接到浏览器打开
"); mailMessage.AppendLine($"{link}"); mailMessage.AppendLine("
"); await ReplaceBodyAndSend(user.EmailAddress, "你有一个新日程", emailTemplate, mailMessage); } }