public bool Send(string targetEmail, Dictionary <string, string> payload, EmailType emailType, byte[] byteArray) { List <EmailAddress> toEmailAddresses = new List <EmailAddress>(); //List<TemplateContent> contents = new List<TemplateContent>(); EmailAddress toEmailAddress = new EmailAddress(); toEmailAddress.email = targetEmail; toEmailAddresses.Add(toEmailAddress); if (payload.TryGetValue("cc", out _ccAddress)) { EmailAddress ccEmailAddress = new EmailAddress(); ccEmailAddress.email = _ccAddress; ccEmailAddress.type = "cc"; toEmailAddresses.Add(ccEmailAddress); } EmailMessage emailMessage = new EmailMessage(); emailMessage.to = toEmailAddresses; if (payload.TryGetValue("subject", out _subject)) { emailMessage.subject = _subject; } emailMessage.attachments = new List <email_attachment>(); email_attachment mailAttachment = new email_attachment(); mailAttachment.content = Convert.ToBase64String(byteArray); mailAttachment.name = payload["AttachFileName"];//"PaymentLinkRequest.csv"; mailAttachment.type = payload["AttachFileType"]; ((List <email_attachment>)emailMessage.attachments).Add(mailAttachment); emailMessage.merge = true; foreach (KeyValuePair <string, string> templateContent in payload) { emailMessage.AddGlobalVariable(templateContent.Key, templateContent.Value); } // emailMessage.from_email = FromAddress; // emailMessage.subject = "Test"; List <EmailResult> results = _api.SendMessage(emailMessage, GetTemplateName(emailType), null); if (results.Count > 0) { foreach (EmailResult result in results) { if (result.Status == EmailResultStatus.Sent || result.Status == EmailResultStatus.Queued) { return(true); } } } return(false); }
public async Task <CommonResponse> Send(string recipient, MemoryStream stream) { var output = new CommonResponse { Message = "Failed to send PDF to " + recipient, Success = false }; try { var mandrill = new MandrillApi(ConfigurationManager.AppSettings.Get("MandrillApiKey")); //Create attachment var attachment = new email_attachment() { name = string.Format("Image2PDF_{0}.pdf", DateTime.Now.ToString("MMM-dd-yyyy-hh-mm-ss")), type = "application/pdf", content = System.Convert.ToBase64String(stream.ToArray()) }; //Create email var email = new EmailMessage() { from_email = "*****@*****.**", from_name = "Image2PDF", to = new List <EmailAddress>() { new EmailAddress(recipient) }, subject = "[Image2PDF] Your images have been converted to PDF!", html = "<p>Thank you for using Image2PDF! Your images have been converted to a PDF document, which you will find attached to this email.</p>", text = "Thank you for using Image2PDF! Your images have been converted to a PDF document, which you will find attached to this email.", attachments = new List <email_attachment>() { attachment } }; var send = await mandrill.SendMessageAsync(email); output.Success = true; } catch (Exception e) { output.Message = e.Message; } return(output); }