示例#1
0
        public async Task SendEmailAsync(MailRequestBll mailRequest)
        {
            var email = new MimeMessage();

            email.Sender = MailboxAddress.Parse(_mailSettings.Mail);
            email.To.Add(MailboxAddress.Parse(mailRequest.EmailAddress));
            email.Subject = mailRequest.Subject;
            var builder = new BodyBuilder();

            //if (mailRequest.Attachments != null)
            //{
            //    byte[] fileBytes;
            //    foreach (var file in mailRequest.Attachments)
            //    {
            //        if (file.Length > 0)
            //        {
            //            using (var ms = new MemoryStream())
            //            {
            //                file.CopyTo(ms);
            //                fileBytes = ms.ToArray();
            //            }
            //            builder.Attachments.Add(file.FileName, fileBytes, ContentType.Parse(file.ContentType));
            //        }
            //    }
            //}
            builder.HtmlBody = mailRequest.Body;
            email.Body       = builder.ToMessageBody();
            var smtp = new SmtpClient();

            smtp.Connect(_mailSettings.Host, _mailSettings.Port, SecureSocketOptions.StartTls);
            smtp.Authenticate(_mailSettings.Mail, _mailSettings.Password);
            await smtp.SendAsync(email);

            smtp.Disconnect(true);
        }
示例#2
0
        public async Task <IActionResult> SendEmailAsync([FromForm] MailRequestBll request)
        {
            try
            {
                await mailService.SendEmailAsync(request);

                return(Ok());
            }
            catch (Exception)
            {
                throw;
            }
        }
示例#3
0
 public Task SendEmailAsync(MailRequestBll request)
 {
     return(_mailService.SendEmailAsync(request));
 }