示例#1
0
        public static Mandrill GetInstance(IConfiguration configuration)
        {
            if (instance == null)
            {
                lock (syncRoot)
                {
                    if (instance == null)
                    {
                        instance = new Mandrill(configuration);
                    }
                }
            }

            return(instance);
        }
示例#2
0
        /// <summary>
        /// A generic send email method that can accept all standards fields for sending email
        /// </summary>
        /// <param name="subject"></param>
        /// <param name="htmlBody"></param>
        /// <param name="toEmail"></param>
        /// <param name="ccEmail"></param>
        /// <param name="bccEmail"></param>
        /// <param name="attachmentModels"></param>
        /// <param name="isPreserveRecipients"></param>
        /// <returns></returns>
        public string SendEmail(string subject, string htmlBody, List <string> toEmail, List <string> ccEmail = null, List <string> bccEmail = null, List <AttachmentModel> attachmentModels = null, bool isPreserveRecipients = true, string fromEmail = "", string fromName = "")
        {
            List <MandrillAttachment> attachments = new List <MandrillAttachment>();

            if (attachmentModels != null)
            {
                foreach (var att in attachmentModels)
                {
                    attachments.Add(new MandrillAttachment
                    {
                        Content = att.File,
                        Name    = att.Name,
                        Type    = att.ContentType
                    });
                }
            }


            var sendTask = Mandrill.GetInstance(configuration).SendViaMandrill(subject, htmlBody, toEmail, ccEmail, bccEmail, attachments, isPreserveRecipients, fromEmail, fromName);

            sendTask.Wait();
            return(sendTask.Result);
        }