public static BaseApiResponse <SendEmailModel> ToSendEmailModel(this SendMailMessageViaHtmlTemplate model, Func <string, string> pathMapper) { var filePath = pathMapper(model.TemplateFilePath); if (!File.Exists(filePath)) { return(new BaseApiResponse <SendEmailModel>(false, "Шаблон не найден по указаному пути")); } var fileContents = File.ReadAllText(filePath); if (model.Replacings != null) { foreach (var replacing in model.Replacings) { fileContents = fileContents.Replace(replacing.Key, replacing.Value); } } return(new BaseApiResponse <SendEmailModel>(true, "Ok", new SendEmailModel { AttachmentFileIds = model.AttachmentFileIds, Body = fileContents, Email = model.Email, Subject = model.Subject })); }
/// <summary> /// Отправить через шаблон /// </summary> /// <param name="model"></param> /// <returns></returns> public async Task <BaseApiResponse> SendEmailViaTemplate(SendMailMessageViaHtmlTemplate model) { var sendModel = model.ToSendEmailModel(Application.MapPath); if (!sendModel.IsSucceeded) { return(new BaseApiResponse(sendModel)); } var resp = sendModel.ResponseObject; return(await EmailDelayedSender.SendEmail(new SendMailMessage { Body = resp.Body, Email = resp.Email, AttachmentFileIds = resp.AttachmentFileIds, Subject = resp.Subject, })); }