Exemplo n.º 1
0
        public void ExchangeSource_Send_Success()
        {
            var testDbSource = SetupDefaultSource();
            var message      = new ExchangeTestMessage()
            {
                Attachments = new List <string> {
                    "testpath"
                },
                BcCs = new List <string> {
                    "testmail"
                },
                CCs = new List <string> {
                    "testcc"
                },
                Body    = "this is a test maii",
                Subject = "this is a test",
                Tos     = new List <string> {
                    "testemails"
                }
            };

            testDbSource.Send(new FakeEmailSender(), message);

            Assert.IsNotNull(message.Body);
            Assert.IsNotNull(message.Attachments);
            Assert.IsNotNull(message.BcCs);
            Assert.IsNotNull(message.CCs);
            Assert.IsNotNull(message.Subject);
            Assert.IsNotNull(message.Tos);
        }
        public StringBuilder Execute(Dictionary <string, StringBuilder> values, IWorkspace theWorkspace)
        {
            ExecuteMessage     msg        = new ExecuteMessage();
            Dev2JsonSerializer serializer = new Dev2JsonSerializer();

            try
            {
                Dev2Logger.Info("Save Resource Service");
                StringBuilder resourceDefinition;

                values.TryGetValue("ExchangeSource", out resourceDefinition);

                var src = serializer.Deserialize <ExchangeSourceDefinition>(resourceDefinition);

                var con = new ExchangeSource()
                {
                    AutoDiscoverUrl = src.AutoDiscoverUrl,
                    UserName        = src.UserName,
                    Password        = src.Password,
                    Timeout         = src.Timeout,
                };

                var testMessage = new ExchangeTestMessage()
                {
                    Tos = new List <string> {
                        src.EmailTo,
                    },
                    CCs = new List <string> {
                        string.Empty
                    },
                    BcCs = new List <string> {
                        string.Empty
                    },
                    Subject = "Exchange Email Test",
                    Body    = "Test Exchange email service source",
                };

                con.Send(new ExchangeEmailSender(con), testMessage);
            }
            catch (Exception err)
            {
                msg.HasError = true;
                msg.Message  = new StringBuilder(err.Message);
                Dev2Logger.Error(err);
            }

            return(serializer.SerializeToBuilder(msg));
        }
 private void SendEmail(ExchangeSource testSource, ExchangeTestMessage testMessage)
 {
     _asyncWorker.Start(() =>
     {
         try
         {
             testSource.Send(new ExchangeEmailSender(testSource), testMessage);
         }
         catch (Exception)
         {
             SetStatusMessage("One or more errors occured");
         }
         finally
         {
             Testing = false;
         }
     });
 }
        public void TestEmailAccount()
        {
            if (Errors != null && Errors.Count > 0)
            {
                return;
            }

            Testing       = true;
            StatusMessage = string.Empty;

            if (string.IsNullOrEmpty(To))
            {
                Testing = false;
                Errors  = new List <IActionableErrorInfo> {
                    new ActionableErrorInfo(() => IsToFocused = true)
                    {
                        Message = ErrorResource.ToAddressRequired
                    }
                };
                return;
            }
            if (SourceRegion.SelectedSource == null)
            {
                Testing = false;
                Errors  = new List <IActionableErrorInfo> {
                    new ActionableErrorInfo(() => IsToFocused = true)
                    {
                        Message = ErrorResource.InvalidSource
                    }
                };
                return;
            }

            var testSource = new ExchangeSource()
            {
                AutoDiscoverUrl = SourceRegion.SelectedSource.AutoDiscoverUrl,
                Password        = SourceRegion.SelectedSource.Password,
                UserName        = SourceRegion.SelectedSource.UserName,
            };

            var testMessage = new ExchangeTestMessage()
            {
                Body    = Body,
                Subject = Subject,
            };

            if (!string.IsNullOrEmpty(Attachments))
            {
                var attachments = Attachments.Split(';');
                testMessage.Attachments.AddRange(attachments);
            }

            if (!string.IsNullOrEmpty(To))
            {
                var tos = To.Split(';');
                testMessage.Tos.AddRange(tos);
            }

            if (!string.IsNullOrEmpty(Cc))
            {
                var ccs = Cc.Split(';');
                testMessage.CCs.AddRange(ccs);
            }

            if (!string.IsNullOrEmpty(Bcc))
            {
                var bccs = Bcc.Split(';');
                testMessage.BcCs.AddRange(bccs);
            }

            SendEmail(testSource, testMessage);
        }