public bool Send(EmailItem emailItem)
        {
            var mail = _factory.Create(emailItem.DstAddress.Address, emailItem.Subject, emailItem.Text);

            Log.TraceFormat("Email {@mail} sended. Host: {_smtpHost} port: {_smtpPort}", mail, _smtpHost, _smtpPort);
            return(true);
        }
        public void Execute(SendEmail cmd)
        {
            var item = EmailItem.CreateNew(cmd.Id, Email.Parse(cmd.To), cmd.HtmlBody, cmd.Subject);

            _repository.Save(item);

            var success = _client.Send(item);

            item.SetSendStatus(success);

            _repository.Save(item);
        }
Exemple #3
0
 public Dto Convert(EmailItem item)
 {
     return(new Dto
     {
         id = item.Id,
         created_at = item.CreatedAt,
         delivered_at = item.DeliveredAt,
         email_key = item.Key,
         email_state = (int)item.State,
         email_text = item.Text,
         dst_address = item.DstAddress.Address,
         email_subj = item.Subject,
     });
 }
Exemple #4
0
 public void Save(EmailItem item)
 {
     using (var connection = _connectionFactory.Create())
     {
         var dto = _mapper.Convert(item);
         if (!item.HasId)
         {
             connection.Insert(dto);
             item.Id = dto.id;
         }
         else
         {
             connection.Update(dto);
         }
     }
 }