/// <summary> /// Reads the specified stream. /// </summary> /// <param name="stream">The stream.</param> /// <returns>The file</returns> public override IMessage Read(Stream stream) { var ReturnObject = new GenericEmail(); if (stream is null) { return(ReturnObject); } MimeMessage?Message = GetMessage(stream); if (Message is null) { return(ReturnObject); } if (!string.IsNullOrEmpty(Message.HtmlBody)) { using var TempStream = new MemoryStream(Message.HtmlBody.ToByteArray()); ReturnObject.Content = new HTMLFormat().Read(TempStream).Content; } else { ReturnObject.Content = Message.TextBody; } ReturnObject.BCC.Add(Message.Bcc.Select(x => x.Name)); ReturnObject.CC.Add(Message.Cc.Select(x => x.Name)); ReturnObject.From = Message.From.Mailboxes.FirstOrDefault()?.Address ?? ""; ReturnObject.Sent = Message.Date.UtcDateTime; ReturnObject.Title = Message.Subject; ReturnObject.To.Add(Message.To.Select(x => x.Name)); return(ReturnObject); }
public async Task SendAsync(IdentityMessage message) { var mailMessage = new GenericEmail(); mailMessage.Sender = new GenericEmailAddress(ConfigUtil.NoreplyEmailAddress, ConfigUtil.NoreplyDisplayName); mailMessage.ToAddresses.Add(new GenericEmailAddress(message.Destination, string.Empty)); mailMessage.HtmlBody = message.Body; mailMessage.Subject = message.Subject; mailMessage.Categories = new[] { "account-activation" }; await Task.Run(() => _genericEmailManager.QueueEmail(mailMessage)); }
private static void SendEmail(string subject, string body, string recipientEmail) { var mailMessage = new GenericEmail(); mailMessage.Sender = new GenericEmailAddress(ConfigUtil.FeedbackEmailFromAddress, ConfigUtil.FeedbackEmailDisplayName); mailMessage.ToAddresses.Add(new GenericEmailAddress(recipientEmail, string.Empty)); mailMessage.HtmlBody = body; mailMessage.Subject = subject; mailMessage.Categories = new[] { "supdate-feedback" }; _genericEmailManager.QueueEmail(mailMessage); Console.WriteLine("Queued email to {0}", recipientEmail); }
public GenericEmail CreateEmailMessage(string toName, string toAddress, string subject, string body, params string[] categories) { var mailMessage = new GenericEmail(); mailMessage.Sender = new GenericEmailAddress(ConfigUtil.NoreplyEmailAddress, ConfigUtil.NoreplyDisplayName); mailMessage.ToAddresses.Add(new GenericEmailAddress(toAddress, toName)); // Body and subject mailMessage.Subject = subject; mailMessage.HtmlBody = body; // Categories. mailMessage.Categories = categories; return(mailMessage); }
/// <summary> /// Reads the specified stream. /// </summary> /// <param name="stream">The stream.</param> /// <returns>The file</returns> public override IMessage Read(Stream stream) { using var message = new Message(stream); var ReturnValue = new GenericEmail { Content = message.BodyText ?? "", Title = message.Subject ?? "", From = message.From ?? "", Sent = message.SentTime ?? DateTime.Now }; AddRecipients(message, RecipientType.Unknown, x => ReturnValue.BCC.Add(x)); AddRecipients(message, RecipientType.CC, x => ReturnValue.CC.Add(x)); AddRecipients(message, RecipientType.To, x => ReturnValue.To.Add(x)); return(ReturnValue); }
static private void SendEmail(GenericEmail email) { //Ivoke Email Service EmailRequest requestEmail = new EmailRequest(); requestEmail.EmailContent = email; //Send fax by email proxy EmailResponse emailResponse = (EmailResponse)GenericEmailProcessor.SendEMail(requestEmail); if (emailResponse == null) { Sitecore.Diagnostics.Log.Error("SendEmail - Unable to send email", typeof(Utilities.Email)); } else { if (emailResponse.MailQId == 0 || emailResponse.MailQId == -1) { Sitecore.Diagnostics.Log.Error(string.Format("SendEmail - Unable to send email. Fault: {0}", emailResponse.Fault), typeof(Utilities.Email)); } } }
public void QueueEmail(GenericEmail mailMessage) { var message = JsonConvert.SerializeObject(mailMessage); _cloudStorage.Enqueue(ConfigUtil.GenericEmailQueueName, message); }
public async Task <ActionResult <int> > SendEmail( [FromForm] string sendTo, [FromForm] DateTimeOffset?from, [FromForm] DateTimeOffset?until, [FromForm] string subjectSK, [FromForm] string subjectCS, [FromForm] string subjectEN, [FromForm] string textSK, [FromForm] string textCS, [FromForm] string textEN ) { try { int ret = 0; if (!User.IsAdmin(userRepository)) { throw new Exception(localizer[Controllers_AdminController.Only_admin_is_allowed_to_manage_time].Value); } if (string.IsNullOrEmpty(textEN)) { textEN = textSK; } if (string.IsNullOrEmpty(textSK)) { textSK = textEN; } if (string.IsNullOrEmpty(textCS)) { textCS = textSK; } var subject = subjectSK; if (CultureInfo.CurrentCulture.Name.StartsWith("en")) { subject = subjectEN; } if (CultureInfo.CurrentCulture.Name.StartsWith("cs")) { subject = subjectCS; } var email = new GenericEmail(CultureInfo.CurrentCulture.Name, configuration["FrontedURL"], configuration["EmailSupport"], configuration["PhoneSupport"]) { TextSK = textSK, TextCS = textCS, TextEN = textEN, SubjectCS = subjectCS, SubjectEN = subjectEN, SubjectSK = subjectSK }; if (sendTo == "test") { await emailSender.SendEmail(subject, "*****@*****.**", "Scholtz", email); ret++; } else if (sendTo == "eHealth") { var oldCulture = CultureInfo.CurrentCulture; var oldUICulture = CultureInfo.CurrentUICulture; foreach (var visitor in await visitorRepository.ListTestedVisitors()) { if (string.IsNullOrEmpty(visitor.Email)) { continue; } if (from.HasValue && visitor.TestingTime < from.Value) { continue; } if (until.HasValue && visitor.TestingTime > until.Value) { continue; } // >>>>>>>>>>>>>>>>>>>>>>>>>>>> if (!visitor.EHealthNotifiedAt.HasValue) { continue; } var specifiedCulture = new CultureInfo(visitor.Language ?? "en"); CultureInfo.CurrentCulture = specifiedCulture; CultureInfo.CurrentUICulture = specifiedCulture; subject = subjectSK; if (CultureInfo.CurrentCulture.Name.StartsWith("en")) { subject = subjectEN; } if (CultureInfo.CurrentCulture.Name.StartsWith("cs")) { subject = subjectCS; } await emailSender.SendEmail(subject, visitor.Email, $"{visitor.FirstName} {visitor.LastName}", email); logger.LogInformation($"SendEmailGeneric: Sent to {visitor.Id}"); ret++; } CultureInfo.CurrentCulture = oldCulture; CultureInfo.CurrentUICulture = oldUICulture; } else { await emailSender.SendEmail(subject, sendTo, "Scholtz", email); ret++; } return(ret); } catch (Exception exc) { logger.LogError(exc, exc.Message); return(BadRequest(new ProblemDetails() { Detail = exc.Message })); } }