public async Task<SendEmailDomain> SendEmailAsync(SendEmailDomain email) { string emailAddress = email.Address; string emailDisplayName = email.DisplayName; // Send email var emailToSend = new Email(email.Subject, email.Body, ContentType.Html, new EmailAddress(emailAddress, emailDisplayName)); emailToSend.To.Add(new EmailAddress(email.Emails.First(), emailDisplayName)); //Email must always have a valid recipient emailToSend.Headers.AddRange(email.Emails); // Must always add to headers for utilizing send-grid api await _mailerRepository.SendMail(emailToSend); return email; }
public void CreateEmailTest() { //Arrange const string content = "content"; const string contentType = "contentType"; const string subject = "subject"; var from = new EmailAddress(); //Act var email = new Email(subject, content, contentType, from); //Assert Assert.IsNotNull(email.To); Assert.IsNotNull(email.Cc); Assert.IsNotNull(email.Bcc); Assert.AreEqual(subject,email.Subject); Assert.AreEqual(content, email.Content); Assert.AreEqual(contentType, email.ContentType); Assert.AreEqual(from, email.From); }
public async Task<SendEmailDomain> SendAndLogEmailAsync(SendEmailDomain email) { string emailAddress = email.Address; string emailDisplayName = email.DisplayName; // Send email var emailToSend = new Email(email.Subject, email.Body, ContentType.Html, new EmailAddress(emailAddress, emailDisplayName)); emailToSend.To.Add(new EmailAddress(email.Emails.First(), emailDisplayName)); //Email must always have a valid recipient emailToSend.Headers.AddRange(email.Emails); // Must always add to headers for utilizing send-grid api await _mailerRepository.SendMail(emailToSend); email.Id = ((int)email.Template) + GetUtcTimestamp(); email.Created = DateTime.UtcNow; // Log sent email SendEmailEntity entity = _mapper.Map<SendEmailDomain, SendEmailEntity>(email); await _sendEmailRepository.AddAsync(entity); return email; }
private Email ComposeRecoveryMail(PasswordRecoveryEntity recoveryEntity, string userName, string link) { string emailAddress = _settings.EmailAddressAlerts; string emailDisplayName = Emails.SenderDisplayName; string emailSubject = Emails.SubjectPasswordRecovery; string emailTemplate = PortalResources.UserRecovery; string emailBody = String.Format(emailTemplate, userName, link); var result = new Email(emailSubject, emailBody, ContentType.Html, new EmailAddress(emailAddress, emailDisplayName)); result.To.Add(new EmailAddress(recoveryEntity.Email, recoveryEntity.Email)); return result; }