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); }
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, }); }
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); } } }