public void SendEmail(CommunicationDTO emailData) { var replyToContactId = emailData.ReplyToContactId ?? DefaultContactEmailId; var from = new MpContact { ContactId = DefaultContactEmailId, EmailAddress = _communicationService.GetEmailFromContactId(DefaultContactEmailId) }; var replyTo = new MpContact { ContactId = replyToContactId, EmailAddress = _communicationService.GetEmailFromContactId(replyToContactId) }; var comm = new MpCommunication { AuthorUserId = DefaultAuthorUserId, DomainId = DomainID, EmailBody = emailData.Body, EmailSubject = emailData.Subject, FromContact = from, ReplyToContact = replyTo, MergeData = new Dictionary <string, object>(), ToContacts = new List <MpContact>() }; foreach (var to in emailData.ToContactIds) { var contact = new MpContact { ContactId = to, EmailAddress = _communicationService.GetEmailFromContactId(to) }; comm.ToContacts.Add(contact); } _communicationService.SendMessage(comm); }
public IHttpActionResult Post([FromBody] CommunicationDTO communication) { return(Authorized(token => { try { _emailCommunication.SendEmail(communication); return Ok(); } catch (Exception ex) { return InternalServerError(ex); } })); }