예제 #1
0
        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);
        }
예제 #2
0
 public IHttpActionResult Post([FromBody] CommunicationDTO communication)
 {
     return(Authorized(token =>
     {
         try
         {
             _emailCommunication.SendEmail(communication);
             return Ok();
         }
         catch (Exception ex)
         {
             return InternalServerError(ex);
         }
     }));
 }