private async Task SendEmail(EmailOption emailOptions) { MailMessage mail = new MailMessage { Subject = emailOptions.Subject, Body = emailOptions.Body, From = new MailAddress(_emailConfig.SenderAddress, _emailConfig.SenderDisplayName), IsBodyHtml = _emailConfig.IsBodyHTML }; foreach (var toEmail in emailOptions.ToEmails) { mail.To.Add(toEmail); } NetworkCredential networkCredential = new NetworkCredential(_emailConfig.UserName, _emailConfig.Password); SmtpClient smtpClient = new SmtpClient { Host = _emailConfig.Host, Port = _emailConfig.Port, EnableSsl = _emailConfig.EnableSSL, UseDefaultCredentials = _emailConfig.UseDefaultCredentials, Credentials = networkCredential }; //attachment //System.Net.Mail.Attachment attachment; //attachment = new System.Net.Mail.Attachment("c:/Users/DELL/Pictures/test.jpg"); //mail.Attachments.Add(attachment); mail.BodyEncoding = Encoding.Default; await smtpClient.SendMailAsync(mail); }
public async Task <IActionResult> SendEmail() { try { EmailOption options = new EmailOption { ToEmails = new List <string>() { "*****@*****.**", "*****@*****.**" }, PlaceHolders = new List <KeyValuePair <string, string> >() { new KeyValuePair <string, string> ("{{UserName}}", "JOhn"), new KeyValuePair <string, string> ("{{Link}}", "https://code-maze.com/send-email-with-attachments-aspnetcore-2/") } }; await _emailService.SendTestEmail(options) ; return(NoContent()); } catch (Exception e) { return(Ok(e.Message)); } }
public async Task SendTestEmail(EmailOption emailOptions) { emailOptions.Subject = UpdatePlaceHolders("Hello {{UserName}}, reset your password.", emailOptions.PlaceHolders); emailOptions.Body = UpdatePlaceHolders(GetEmailBody("TestEmail"), emailOptions.PlaceHolders); await SendEmail(emailOptions); }
public IActionResult Demo() { EmailOption defaultEmailOption = _options.Value; EmailOption defaultEmailOption1 = _optionsMonitor.CurrentValue;//_optionsMonitor.Get(Microsoft.Extensions.Options.Options.DefaultName); EmailOption fromMemoryEmailOption1 = _optionsMonitor.Get("FromMemory"); EmailOption fromConfigurationEmailOption1 = _optionsMonitor.Get("FromConfiguration"); EmailOption defaultEmailOption2 = _optionsSnapshot.Value;//_optionsSnapshot.Get(Microsoft.Extensions.Options.Options.DefaultName); EmailOption fromMemoryEmailOption2 = _optionsSnapshot.Get("FromMemory"); EmailOption fromConfigurationEmailOption2 = _optionsSnapshot.Get("FromConfiguration"); return(View()); }