public void Send(NotificationMailMessage mailMessage)
        {
            var client = new SmtpClient("mail.com")
            {
                UseDefaultCredentials = true
            };
            MailMessage message = new MailMessage
            {
                From       = new MailAddress(mailMessage.FromAddress, mailMessage.FromName),
                To         = { mailMessage.ToAddress },
                Body       = mailMessage.Body,
                Subject    = mailMessage.Subject,
                IsBodyHtml = true
            };

            if (!string.IsNullOrEmpty(mailMessage.CcAddress))
            {
                message.CC.Add(mailMessage.CcAddress);
            }

            if (!string.IsNullOrEmpty(mailMessage.BccAddress))
            {
                message.Bcc.Add(mailMessage.BccAddress);
            }

            client.Send(message);
        }
        public NotificationMailMessage Generate(Sender sender, Recipient recipient)
        {
            var mailMessage = new NotificationMailMessage
            {
                FromAddress = sender.FromEmail,
                FromName    = sender.FromDisplayName,
                ToAddress   = recipient.OwnerEmail,
                Body        = GetBody(recipient),
                Subject     = string.Concat(recipient.FirstSendDate != null?"REMINDER: ":string.Empty, SubjectEmail)
            };

            if (!string.IsNullOrEmpty(recipient.OneLevelUpManager.ManagerName) &&
                recipient.OneLevelUpManager.DateToNotify <= DateTime.Today)
            {
                mailMessage.CcAddress = recipient.OneLevelUpManager.ManagerEmail;
            }

            if (!string.IsNullOrEmpty(recipient.TwoLevelUpManager.ManagerName) &&
                recipient.TwoLevelUpManager.DateToNotify <= DateTime.Today)
            {
                mailMessage.CcAddress += "," + recipient.TwoLevelUpManager.ManagerEmail;
            }

            if (!sender.Bcc1Email.Equals(string.Empty))
            {
                mailMessage.BccAddress = sender.Bcc1Email;
            }

            if (!sender.Bcc2Email.Equals(string.Empty))
            {
                mailMessage.BccAddress = string.Concat(mailMessage.BccAddress, ",", sender.Bcc2Email);
            }

            return(mailMessage);
        }