private async Task <string> RenderPartialViewToString(string viewName, EmailDataModel model) { if (string.IsNullOrEmpty(viewName)) { viewName = ControllerContext.ActionDescriptor.ActionName; } ViewData.Model = model; using (var writer = new StringWriter()) { ViewEngineResult viewResult = _viewEngine.FindView(ControllerContext, viewName, false); ViewContext viewContext = new ViewContext( ControllerContext, viewResult.View, ViewData, TempData, writer, new HtmlHelperOptions() ); await viewResult.View.RenderAsync(viewContext); return(writer.GetStringBuilder().ToString()); } }
public async Task <IActionResult> Index() { EmailDataModel model = new EmailDataModel { Body = "This is email body | You request has been submitted!" }; string emailContent = await this.renderer.RenderPartialViewToString <EmailDataModel>(model, "Templates/Email/_EmailView"); ViewBag.EmailContent = emailContent; return(View()); }
public async Task <IActionResult> SendEmail([FromBody] EmailDataModel emailData) { if (!ModelState.IsValid) { return(BadRequest(ErrorResponseFactory.Create(ModelState))); } await _emailService.EnqueueEmailAsync(emailData); return(Ok()); }
public async Task HandleEmailQueueMessage(EmailDataModel emailData) { try { await _emailService.SendEmailAsync(emailData); } catch (Exception ex) { await _log.WriteErrorAsync(nameof(HandleEmailQueueMessage), $"Message: {emailData.ToJson()}", ex); throw; } }
public static void SendEmail(EmailDataModel data) { //var address = Environment.GetEnvironmentVariable("TrainingSmtp"); //using (var client = new SmtpClient(address)) //{ // client.Port = 25; // client.DeliveryMethod = SmtpDeliveryMethod.Network; // var mailMessage = new MailMessage // { // From = new MailAddress(data.From), // Body = emailMessage.Body, // Subject = emailMessage.Subject // }; // mailMessage.To.Add(emailMessage.To); // client.Send(mailMessage); //} }
public async Task SendEmailAsync(EmailDataModel emailData) { await _api.SendEmailAsync(emailData); }
/// <summary> /// Adds email request into queue for subsequent sending /// </summary> /// <param name='operations'> /// The operations group for this extension method. /// </param> /// <param name='emailData'> /// Email data /// </param> /// <param name='cancellationToken'> /// The cancellation token. /// </param> public static async Task SendEmailAsync(this IIcoCommonAPI operations, EmailDataModel emailData = default(EmailDataModel), CancellationToken cancellationToken = default(CancellationToken)) { (await operations.SendEmailWithHttpMessagesAsync(emailData, null, cancellationToken).ConfigureAwait(false)).Dispose(); }
/// <summary> /// Adds email request into queue for subsequent sending /// </summary> /// <param name='operations'> /// The operations group for this extension method. /// </param> /// <param name='emailData'> /// Email data /// </param> public static void SendEmail(this IIcoCommonAPI operations, EmailDataModel emailData = default(EmailDataModel)) { operations.SendEmailAsync(emailData).GetAwaiter().GetResult(); }
public void Post([FromBody] EmailDataModel data) { }