예제 #1
0
        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));
            }
        }
예제 #3
0
        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);
        }
예제 #4
0
        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());
        }