示例#1
0
        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);
        }
示例#2
0
        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())));
        }
示例#3
0
        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())));
        }