public string SendEmail(IExchange runtimeSource, IWarewolfListIterator colItr, IWarewolfIterator toItr, IWarewolfIterator ccItr, IWarewolfIterator bccItr, IWarewolfIterator subjectItr, IWarewolfIterator bodyItr, IWarewolfIterator attachmentsItr, out ErrorResultTO errors, bool isHtml) { InitializeService(); errors = new ErrorResultTO(); var toValue = colItr.FetchNextValue(toItr); var ccValue = colItr.FetchNextValue(ccItr); var bccValue = colItr.FetchNextValue(bccItr); var subjectValue = colItr.FetchNextValue(subjectItr); var bodyValue = colItr.FetchNextValue(bodyItr); var attachmentsValue = colItr.FetchNextValue(attachmentsItr); var mailMessage = new EmailMessage(ExchangeService) { Subject = subjectValue }; AddToAddresses(toValue, mailMessage); mailMessage.Body = bodyValue; if (isHtml) { mailMessage.Body.BodyType = BodyType.HTML; } else { mailMessage.Body.BodyType = BodyType.Text; } if (!string.IsNullOrEmpty(ccValue)) { AddCcAddresses(ccValue, mailMessage); } if (!string.IsNullOrEmpty(bccValue)) { AddBccAddresses(bccValue, mailMessage); } if (!string.IsNullOrEmpty(attachmentsValue)) { AddAttachmentsValue(attachmentsValue, mailMessage); } string result; try { EmailSender = new ExchangeEmailSender(runtimeSource); EmailSender.Send(ExchangeService, mailMessage); result = "Success"; } catch (Exception e) { result = "Failure"; errors.AddError(e.Message); } return(result); }
public void ExchangeEmailSender_InValid_Send_AutoDiscoverUrl_IsNullOrEmpty_ExpectServiceValidationException() { //---------------------------Arrange--------------------------- var mockExchange = new Mock <IExchange>(); var exchangeEmailSender = new ExchangeEmailSender(mockExchange.Object); //---------------------------Act------------------------------- //---------------------------Assert---------------------------- Assert.ThrowsException <ServiceValidationException>(() => exchangeEmailSender.Send(new ExchangeServiceFactory().Create(), new EmailMessage(new ExchangeServiceFactory().Create()))); }
public void ExchangeEmailSender_InValid_Send_AutoDiscoverUrl_IsNotNullOrEmpty_ExpectFormatException() { //---------------------------Arrange--------------------------- var mockExchange = new Mock <IExchange>(); mockExchange.Setup(o => o.UserName).Returns("TestUsername"); var exchangeEmailSender = new ExchangeEmailSender(mockExchange.Object); //---------------------------Act------------------------------- //---------------------------Assert---------------------------- Assert.ThrowsException <FormatException>(() => exchangeEmailSender.Send(new ExchangeServiceFactory().Create(), new EmailMessage(new ExchangeServiceFactory().Create()))); }