public ShedulerService(IEmailService emailService, IFormMessageService formMessageService, IEmailSettings emailSettings, IMessage message, ISiteSettings siteSettings) { _emailService = emailService; _formMessageService = formMessageService; _emailSettings = emailSettings; _siteSettings = siteSettings; _message = message; }
public async Task Execute(IJobExecutionContext context) { JobDataMap dataMap = context.JobDetail.JobDataMap; _emailService = (IEmailService)dataMap["emailService"]; _formMessageService = (IFormMessageService)dataMap["formMessageService"]; _emailSettings = (IEmailSettings)dataMap["emailSettings"]; _message = (IMessage)dataMap["message"]; _siteSettings = (ISiteSettings)dataMap["siteSettings"]; await _emailService.SendEmailAsync(_formMessageService, _emailSettings, _message, _siteSettings); }
public async Task SendEmailAsync(IFormMessageService formMessageService, IEmailSettings emailSettings, IMessage message, ISiteSettings siteSettings) { var emailMessage = new MimeMessage(); emailMessage.From.Add(new MailboxAddress(message.SenderName, message.SenderEmail)); emailMessage.To.Add(new MailboxAddress("", message.RecieverEmail)); emailMessage.Subject = message.MessageSubject; emailMessage.Body = new TextPart(MimeKit.Text.TextFormat.Html) { Text = message.MessageBody + Environment.NewLine + formMessageService.GetMessage(siteSettings) }; using (var client = new SmtpClient()) { await client.ConnectAsync(emailSettings.Host, emailSettings.Port, emailSettings.EnableSSL); await client.AuthenticateAsync(emailSettings.UserEmail, emailSettings.UserPassword); await client.SendAsync(emailMessage); await client.DisconnectAsync(true); } }