public Models.CreateSmtpEmail SendMessage(Models.SendSmtpEmail senfinBlueMessage) { var result = Execute <Models.CreateSmtpEmail>(client => { // var contentString = JsonConvert.SerializeObject(content); // var httpContent = new StringContent(contentString, Encoding.UTF8, "application/json"); // var response = client.PostAsync("smtp/email", httpContent).Result; var response = client.PostAsJsonAsync("smtp/email", senfinBlueMessage).Result; return(response); }); return(result); }
public Models.SendSmtpEmail CreateSendinBlueMessage(EmailMessage emailMessage) { var content = new Models.SendSmtpEmail(); var headers = new JObject(); content.Sender = new Models.SendSmtpEmailRecipient() { Email = emailMessage.Sender.Email, Name = string.IsNullOrWhiteSpace(emailMessage.Sender.DisplayName) ? emailMessage.Sender.Email : emailMessage.Sender.DisplayName }; if (emailMessage.Attachments.Any()) { content.Attachment = new List <Models.SendSmtpEmailAttachment>(); foreach (var item in emailMessage.Attachments) { var buffer = System.Convert.FromBase64String(item.Content); var ms = new System.IO.MemoryStream(buffer); var attachment = new Models.SendSmtpEmailAttachment(null, ms.ToArray(), item.Name); content.Attachment.Add(attachment); } } foreach (var address in emailMessage.Recipients) { var recipient = new Models.SendSmtpEmailRecipient() { Email = address.Address, Name = string.IsNullOrWhiteSpace(address.DisplayName)?address.Address:address.DisplayName }; if (address.SendingType == EmailSendingType.To) { if (content.To == null) { content.To = new List <Models.SendSmtpEmailRecipient>(); } content.To.Add(recipient); } else if (address.SendingType == EmailSendingType.BCC) { if (content.Bcc == null) { content.Bcc = new List <Models.SendSmtpEmailRecipient>(); } content.Bcc.Add(recipient); } else if (address.SendingType == EmailSendingType.CC) { if (content.Cc == null) { content.Cc = new List <Models.SendSmtpEmailRecipient>(); } content.Cc.Add(recipient); } else if (address.SendingType == EmailSendingType.ReplyTo) { content.ReplyTo = recipient; } else if (address.SendingType == EmailSendingType.ReturnPath) { headers.Add("Return-Path", address.DisplayName); } } content.HtmlContent = emailMessage.Body; /* * if (emailMessage.IsBodyHtml) * { * content.HtmlContent = emailMessage.Body; * } * else * { * content.TextContent = emailMessage.Body; * } */ content.Subject = emailMessage.Subject; if (emailMessage.Headers.Count > 0) { foreach (var header in emailMessage.Headers) { headers.Add(header.Name, header.Value); } } if (!string.IsNullOrWhiteSpace(emailMessage.MessageId)) { headers.Add("SIB-CustomID", emailMessage.MessageId); } if (headers.Count > 0) { content.Headers = headers; } return(content); }