示例#1
0
        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
            }));
        }
示例#2
0
        /// <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,
            }));
        }