public async Task <IActionResult> Email(EmailParameters parameters) { parameters.Subject = "test"; parameters.Body = "my email"; parameters.ToAddress = "*****@*****.**"; var email = new EmailMessage(); email.ToAddresses.Add(new EmailAddress(parameters.ToName, parameters.ToAddress)); //email.Subject = parameters.Subject; //for demo force a Template to reduce spam //email.Body = parameters.Body; if (string.IsNullOrEmpty(parameters.TemplateName)) { parameters.TemplateName = "Test"; } switch (parameters.TemplateName) { case "Test": email = EmailTemplates.BuildTestEmail(email, parameters.ToName); //example of email Template usage break; default: break; } email.FromAddresses.Add(new EmailAddress("*****@*****.**", "*****@*****.**")); _logger.LogInformation("Test Email: {0}", email.Subject); await _emailService.SendEmailAsync(email); return(Ok(new { success = "true" })); }
public async Task <ApiResponse> Send(EmailDto parameters) { if (!ModelState.IsValid) { return(new ApiResponse(400, "User Model is Invalid")); } var email = new EmailMessageDto(); email.ToAddresses.Add(new EmailAddressDto(parameters.ToName, parameters.ToAddress)); //This forces all emails from the API to use the Test template to prevent spam parameters.TemplateName = "Test"; //Send a Template email or a custom one since it is hardcoded to Test template it will not do a custom email. if (!string.IsNullOrEmpty(parameters.TemplateName)) { switch (parameters.TemplateName) { case "Test": email = EmailTemplates.BuildTestEmail(email); //example of email Template usage break; default: break; } } else { email.Subject = parameters.Subject; email.Body = parameters.Body; } //Add a new From Address if you so choose, default is set in appsettings.json //email.FromAddresses.Add(new EmailAddress("New From Name", "*****@*****.**")); _logger.LogInformation("Test Email: {0}", email.Subject); try { await _emailService.SendEmailAsync(email); return(new ApiResponse(200, "Email Successfuly Sent")); } catch (Exception ex) { return(new ApiResponse(500, ex.Message)); } }
public async Task <IActionResult> Send(EmailParameters parameters) { if (!ModelState.IsValid) { return(BadRequest(ModelState.Values.SelectMany(state => state.Errors) .Select(error => error.ErrorMessage) .FirstOrDefault())); } var email = new EmailMessage(); email.ToAddresses.Add(new EmailAddress(parameters.ToName, parameters.ToAddress)); //This forces all emails from the API to use the Test template to prevent spam parameters.TemplateName = "Test"; //Send a Template email or a custom one since it is hardcoded to Test template it will not do a custom email. if (!string.IsNullOrEmpty(parameters.TemplateName)) { switch (parameters.TemplateName) { case "Test": email = EmailTemplates.BuildTestEmail(email); //example of email Template usage break; default: break; } } else { email.Subject = parameters.Subject; email.Body = parameters.Body; } //Add a new From Address if you so choose, default is set in appsettings.json //email.FromAddresses.Add(new EmailAddress("New From Name", "*****@*****.**")); _logger.LogInformation("Test Email: {0}", email.Subject); await _emailService.SendEmailAsync(email); return(Ok(new { success = "true" })); }