private void HandleValidateEmailMsg(ValidateEmailMsg msg)
 {
     Persist(msg, validateEmailMsg =>
     {
         var result = _emailValidator.Execute(_mapper.Map <EmailMessage>(msg.Email));
         if (result.IsSuccess)
         {
             var emailQualifyMsg = new EmailQualifyMsg(
                 validateEmailMsg.RequestId,
                 validateEmailMsg.Email,
                 validateEmailMsg.MessageType
                 );
             Context.Parent.Tell(emailQualifyMsg, Self);
         }
         else
         {
             var emailQualifyMsg = new EmailDisqualifiedMsg(
                 validateEmailMsg.RequestId,
                 validateEmailMsg.Email,
                 validateEmailMsg.MessageType,
                 result.FailureReasons
                 );
             Context.Parent.Tell(emailQualifyMsg, Self);
         }
     });
 }
 /// <summary>
 /// Records disqualified emails.
 /// </summary>
 /// <param name="msg"></param>
 private void HandleEmailDisqualifiedMsg(EmailDisqualifiedMsg msg)
 {
     Persist(msg, emailDisqualifiedMsg =>
     {
         _emailDeliveryService.ProcessDisqualifiedEmail(
             msg.RequestId,
             _mapper.Map <EmailMessage>(msg.Email),
             msg.MessageType
             );
     });
 }