public async Task SendEmailAsync(EmailBase emailBase) { // Plug in your email service here to send an email. var emailMessage = new MimeMessage(); emailMessage.From.Add(new MailboxAddress(emailBase.senderName, emailBase.mailFrom)); emailMessage.To.Add(new MailboxAddress("", emailBase.email)); emailMessage.Subject = emailBase.subject; emailMessage.Body = new TextPart("html") { Text = emailBase.message }; using (var client = new SmtpClient()) { //client.LocalDomain = emailBase.LocalDomain; await client.ConnectAsync(emailBase.smtpUrl, emailBase.port, SecureSocketOptions.Auto).ConfigureAwait(false); // client.Authenticate(emailBase.mailFrom,emailBase.password); await client.SendAsync(emailMessage).ConfigureAwait(false); await client.DisconnectAsync(true).ConfigureAwait(false); } }
public void Initialize(IEmailBuilder emailBuilder, EmailBase email) { emailBuilder.SetSender(email.From); emailBuilder.SetContent(email.Subject, email.Content, email.ContentType); if (email.Headers.Count > 0) { emailBuilder.AddToWithHeader(email.Headers); } foreach (EmailAddress emailAddress in email.To) { emailBuilder.AddToRecipient(emailAddress); } foreach (EmailAddress emailAddress in email.Cc) { emailBuilder.AddCcRecipient(emailAddress); } foreach (EmailAddress emailAddress in email.Bcc) { emailBuilder.AddBccRecipient(emailAddress); } }
/// <summary> /// Sends a single email message. /// </summary> /// <param name="message">The email message to send.</param> public void Send(EmailBase message) { var task = SendEmail(message); task.Wait(); }
public NewsletterViewModel(NewsletterPage currentPage) : this(currentPage, EmailBase.GetNotificationSettings()) { }
private void SetToAndFromValues(EmailBase model) { To.Add(model.To); From = model.From ?? ConfigurationManager.AppSettings["Email:Support"]; }
public async Task UpdateSaveWithText(int userId, EmailBase emailBase) { if (emailBase == null) { throw new GraException("No email base template to update."); } var dbTemplate = await GetByIdAsync(emailBase.Id); if (dbTemplate == null) { throw new GraException($"Unable to find email template id {emailBase.Id}."); } bool changes = false; if (!string.IsNullOrEmpty(emailBase.Name) && emailBase.Name.Trim() != dbTemplate.Name) { dbTemplate.Name = emailBase.Name.Trim(); changes = true; } if (changes) { await UpdateSaveAsync(userId, dbTemplate); } bool newRecord = false; if (emailBase?.EmailBaseText != null) { var dbBaseText = await _context .EmailBaseTexts .SingleOrDefaultAsync(_ => _.EmailBaseId == emailBase.Id && _.LanguageId == emailBase.EmailBaseText.LanguageId); if (dbBaseText == null) { newRecord = true; dbBaseText = new Model.EmailBaseText { EmailBaseId = emailBase.Id, CreatedAt = _dateTimeProvider.Now, CreatedBy = userId, LanguageId = emailBase.EmailBaseText.LanguageId }; } dbBaseText.TemplateHtml = emailBase.EmailBaseText.TemplateHtml?.Trim(); dbBaseText.TemplateMjml = emailBase.EmailBaseText.TemplateMjml?.Trim(); dbBaseText.TemplateText = emailBase.EmailBaseText.TemplateText?.Trim(); if (newRecord) { await _context.EmailBaseTexts.AddAsync(dbBaseText); } else { _context.EmailBaseTexts.Update(dbBaseText); } await _context.SaveChangesAsync(); } }