Exemple #1
0
        private void tickerTimer_Elapsed(object sender, ElapsedEventArgs e)
        {
            try
            {
                if (Settings.Default.Ticker_IsFile)
                {
                    var _fileName = Settings.Default.Ticker_Text;
                    if (WaitFileReady.Check(_fileName) == false)
                    {
                        Logger.WriteDebug(MethodBase.GetCurrentMethod(), "Can not read from textfile");
                        return;
                    }

                    TickerText = File.ReadAllText(_fileName, Encoding.GetEncoding(1252));
                }
                else
                {
                    TickerText = Settings.Default.Ticker_Text;
                }

                //Restart timer
                tickerTimer.Start();
            }
            catch (Exception ex)
            {
                Logger.WriteError(MethodBase.GetCurrentMethod(), ex);
            }
        }
Exemple #2
0
        private void sendMail(Message _message)
        {
            if (_message == null)
            {
                return;
            }

            if (string.IsNullOrWhiteSpace(Settings.Default.MailOutput_Server))
            {
                return;
            }

            Logger.WriteDebug(MethodBase.GetCurrentMethod(), "Start to send mail");

            //Check settings
            if (Settings.Default.MailOutput_Port <= 0)
            {
                throw new ArgumentNullException("MailOutput_Port");
            }

            if (string.IsNullOrWhiteSpace(Settings.Default.MailOutput_Sender))
            {
                throw new ArgumentNullException("MailOutput_Sender");
            }

            if (string.IsNullOrWhiteSpace(Settings.Default.MailOutput_User))
            {
                throw new ArgumentNullException("MailOutput_User");
            }

            if (string.IsNullOrWhiteSpace(Settings.Default.MailOutput_Password))
            {
                throw new ArgumentNullException("MailOutput_Password");
            }

            //Settings
            var _senderMailbox = new MailBox(Settings.Default.MailOutput_Sender, "Rescue-Information-System");
            var _mailBuilder   = new MailBuilder();

            _mailBuilder.From.Add(_senderMailbox);
            _mailBuilder.Subject = _message.Subject;
            _mailBuilder.Text    = _message.Text;
            //Werbung
            for (var i = 0; i < 5; i++)
            {
                _mailBuilder.Text += Environment.NewLine;
            }

            _mailBuilder.Text += "RIS by www.srs-software.de";

            //Empfänger hinzufügen
            foreach (var _user in _message.Recivers)
            {
                if (!isValidEmail(_user.MailAdresse))
                {
                    Logger.WriteDebug(MethodBase.GetCurrentMethod(), $"User {_user.Name} -> mail address not valid");
                    continue;
                }

                var _newAdress = new MailBox(_user.MailAdresse, _user.Name);
                _mailBuilder.Bcc.Add(_newAdress);
                Logger.WriteDebug(MethodBase.GetCurrentMethod(), $"User add ({_user.Name})");
            }

            if (_mailBuilder.Bcc.Count <= 0)
            {
                Logger.WriteDebug(MethodBase.GetCurrentMethod(), "cancel no recipients");
                return;
            }

            //Anhang
            if (!string.IsNullOrEmpty(_message.AttachmentPath))
            {
                if (File.Exists(_message.AttachmentPath) && WaitFileReady.Check(_message.AttachmentPath))
                {
                    _mailBuilder.AddAttachment(_message.AttachmentPath);
                }
                else
                {
                    Logger.WriteDebug(MethodBase.GetCurrentMethod(), $"{_message.AttachmentPath} -> not found");
                }
            }

            //send mail
            Logger.WriteDebug(MethodBase.GetCurrentMethod(), "start sending");
            using (var _smtpClient = new Smtp())
            {
                if (Settings.Default.MailOutput_SSL)
                {
                    _smtpClient.ConnectSSL(Settings.Default.MailOutput_Server, Settings.Default.MailOutput_Port);
                }
                else
                {
                    _smtpClient.Connect(Settings.Default.MailOutput_Server, Settings.Default.MailOutput_Port);
                    if (_smtpClient.SupportedExtensions().Contains(SmtpExtension.StartTLS))
                    {
                        _smtpClient.StartTLS();
                    }
                }

                _smtpClient.UseBestLogin(Settings.Default.MailOutput_User,
                                         Encrypt.DecryptString(Settings.Default.MailOutput_Password, "MailOutput_Password"));
                Logger.WriteDebug(MethodBase.GetCurrentMethod(), "login -> ok");

                var _mail = _mailBuilder.Create();
                _mail.PriorityHigh();
                var _result = _smtpClient.SendMessage(_mail);

                Logger.WriteDebug(MethodBase.GetCurrentMethod(), $"result -> {_result}");
                _smtpClient.Close();
            }

            Logger.WriteDebug(MethodBase.GetCurrentMethod(), "send mail finished");
        }