Пример #1
0
        public IActionResult SMTP(int i)
        {
            GetConnectionsResponse solutionConnections = this.ServiceClient.Post <GetConnectionsResponse>(new GetConnectionsRequest {
                ConnectionType = (int)EbConnectionTypes.SMTP
            });
            var            req     = this.HttpContext.Request.Form;
            SMTPConnection smtpcon = new SMTPConnection();

            smtpcon.NickName     = req["nickname"];
            smtpcon.Smtp         = req["smtp"];
            smtpcon.Port         = Int32.Parse(req["port"]);
            smtpcon.EmailAddress = req["email"];
            smtpcon.Password     = req["pwd"];

            if (!String.IsNullOrEmpty(solutionConnections.EBSolutionConnections.SMTPConnection.EmailAddress))
            {
                if (String.IsNullOrEmpty(smtpcon.Password) && smtpcon.EmailAddress == solutionConnections.EBSolutionConnections.SMTPConnection.EmailAddress)
                {
                    smtpcon.Password = solutionConnections.EBSolutionConnections.SMTPConnection.Password;
                }
                this.ServiceClient.Post <bool>(new ChangeSMTPConnectionRequest {
                    SMTPConnection = smtpcon, IsNew = false
                });
            }
            else
            {
                this.ServiceClient.Post <bool>(new ChangeSMTPConnectionRequest {
                    SMTPConnection = smtpcon, IsNew = true
                });
            }
            return(Redirect("/ConnectionManager"));
        }
Пример #2
0
        public async Task            OpenTest()
        {
            using (var connection = new SMTPConnection()) {
                connection.RemoteEndPoint = _remoteEndPoint;
                await connection.OpenAsync(CancellationToken.None);
            }

            await Task.Delay(50);
        }
Пример #3
0
        public async Task            QuitTest()
        {
            using (var connection = new SMTPConnection()) {
                connection.RemoteEndPoint = _remoteEndPoint;
                connection.ConnectTimeout = 1000;
                await connection.OpenAsync(CancellationToken.None);

                await connection.QUIT_Async(CancellationToken.None);
            }
        }
        public IActionResult EditSMTP(int i)
        {
            var            req     = this.HttpContext.Request.Form;
            SMTPConnection smtpcon = new SMTPConnection();

            smtpcon.NickName     = req["nickname"];
            smtpcon.Smtp         = req["smtp"];
            smtpcon.Port         = Int32.Parse(req["port"]);
            smtpcon.EmailAddress = req["email"];
            smtpcon.Password     = req["pwd"];
            var r = this.ServiceClient.Post <bool>(new ChangeSMTPConnectionRequest {
                SMTPConnection = smtpcon, IsNew = false
            });

            return(Redirect("/ConnectionManager"));
        }
Пример #5
0
        public async Task            OpenTestTimeout()
        {
            var start = DateTime.UtcNow;

            try {
                using (var connection = new SMTPConnection()) {
                    connection.RemoteEndPoint = new IPEndPoint(IPAddress.Parse("192.168.203.1"), 25);
                    connection.ConnectTimeout = 1000;
                    await connection.OpenAsync(CancellationToken.None);
                }
            }
            catch (TimeoutException) {
                var d = (DateTime.UtcNow - start).Ticks / TimeSpan.TicksPerMillisecond;
                Assert.IsTrue(900 < d && d < 1100);
            }
        }
Пример #6
0
        public async Task            SendTest()
        {
            using (var timer = new CancellationTokenSource(30000)) {
                using (var connection = new SMTPConnection()) {
                    connection.RemoteEndPoint = _remoteEndPoint;
                    connection.ConnectTimeout = 5000;
                    connection.Timeout        = 5000;
                    await connection.OpenAsync(timer.Token);

                    await connection.MAIL_FROM_Async("*****@*****.**", timer.Token);

                    await connection.RCPT_TO_Async("*****@*****.**", timer.Token);

                    await connection.DATA_Async("Description: Just a test\r\n" +
                                                "\r\n" +
                                                "Test from Jannesen.Protocol.SMTP.UnitTest",
                                                timer.Token);

                    await connection.QUIT_Async(timer.Token);
                }
            }
        }
Пример #7
0
 public MailingService(IOptions <SMTPConnection> settings, ILogger <MailingService> logger)
 {
     _settings = settings.Value;
     _logger   = logger;
 }