public void Push(QueueMessageSendRequest messageSendRequest)
        {
            var message = messageSendRequest.Message;
            using (var smtpMessage = new MailMessage(messageSendRequest.OwnerAddress, messageSendRequest.RecipientAddress))
            {
                var hasHtmlBody = !string.IsNullOrWhiteSpace(message.MessageBodyRich);
                foreach (var replyToRecipient in messageSendRequest.ReplyToRecipients)
                {
                    smtpMessage.ReplyToList.Add(new MailAddress(replyToRecipient.Address, replyToRecipient.DisplayName));
                }


                smtpMessage.Subject = message.MessageTitle;
                smtpMessage.IsBodyHtml = hasHtmlBody;

                smtpMessage.AddView(message.MessageBodyPlain, "text/plain");
                smtpMessage.AddView(message.MessageBodyRich, "text/html");
                smtpMessage.AddAttachment(message.AttachmentFilePath);


                using (var client = new SmtpClient { EnableSsl = messageSendRequest.IsSecure })
                {
                    client.Send(smtpMessage);
                }
            }
        }
        public void Push(QueueMessageSendRequest messageSendRequest)
        {
           
            var message = messageSendRequest.Message;
            //create a new message object
            var sgMessage = SendGrid.GenerateInstance();

            sgMessage.To = new[] { new MailAddress(messageSendRequest.RecipientAddress) };

            if (messageSendRequest.ReplyToRecipients.Count > 0)
            {
                sgMessage.ReplyTo = messageSendRequest.ReplyToRecipients
                                    .Select(replyToRecipient => new MailAddress(replyToRecipient.Address, replyToRecipient.DisplayName))
                                    .ToArray();
            }

            //set the sender
            sgMessage.From = new MailAddress(messageSendRequest.OwnerAddress);

            //set the sgMessage body
            sgMessage.Html = message.MessageBodyRich;
            sgMessage.Text = message.MessageBodyPlain;

            //set the sgMessage subject
            sgMessage.Subject = message.MessageTitle;

            //create an instance of the SMTP transport mechanism
            var transportInstance = SMTP.GenerateInstance(new NetworkCredential(_userName, _password));

            if (!string.IsNullOrWhiteSpace(message.AttachmentFilePath))
                sgMessage.AddAttachment(message.AttachmentFilePath);

            //send the mail
            transportInstance.Deliver(sgMessage);
        }