Beispiel #1
0
        public void SendMessage(FileSystemEventArgs args, string serviceName, string serviceStatus)
        {
            if(_sendMailConfig.Message.Count == 0) return;

            var valueSource = new TemplateValueSource(args, serviceName, serviceStatus);

            MatchEvaluator matchEvaluator = match =>
            {
                ITemplateValueProvider provider;
                var key = match.Groups[1].Value;
                return TemplateValueProviders.Instance.TryGet(key, out provider)
                    ? provider.GetTemplateValue(valueSource)
                    : match.ToString();
            };
            var subject = TemplateKeyRegex.Replace(_sendMailConfig.Message.SubjectTemplate, matchEvaluator);
            var body = TemplateKeyRegex.Replace(LoadBodyTemplate(), matchEvaluator);

            var message = new MailMessage
            {
                From = new MailAddress(_sendMailConfig.Message.From),
                Subject = subject,
                Body = body,
                IsBodyHtml = _sendMailConfig.Message.IsBodyHtml
            };
            foreach (MailReceiverAddress receiver in _sendMailConfig.Message)
            {
                message.To.Add(receiver.Address);
            }

            _smtpClient.Send(message);
        }
Beispiel #2
0
        public void SendMessage(FileSystemEventArgs args, string serviceName, string serviceStatus)
        {
            if (_sendMailConfig.Message.Count == 0)
            {
                return;
            }

            var valueSource = new TemplateValueSource(args, serviceName, serviceStatus);

            MatchEvaluator matchEvaluator = match =>
            {
                ITemplateValueProvider provider;
                var key = match.Groups[1].Value;
                return(TemplateValueProviders.Instance.TryGet(key, out provider)
                    ? provider.GetTemplateValue(valueSource)
                    : match.ToString());
            };
            var subject = TemplateKeyRegex.Replace(_sendMailConfig.Message.SubjectTemplate, matchEvaluator);
            var body    = TemplateKeyRegex.Replace(LoadBodyTemplate(), matchEvaluator);

            var message = new MailMessage
            {
                From       = new MailAddress(_sendMailConfig.Message.From),
                Subject    = subject,
                Body       = body,
                IsBodyHtml = _sendMailConfig.Message.IsBodyHtml
            };

            foreach (MailReceiverAddress receiver in _sendMailConfig.Message)
            {
                message.To.Add(receiver.Address);
            }

            _smtpClient.Send(message);
        }
 public string GetTemplateValue(TemplateValueSource valueSource)
 {
     return Environment.MachineName;
 }
 public string GetTemplateValue(TemplateValueSource valueSource)
 {
     return valueSource.FileSystemEventArgs.FullPath;
 }
 public string GetTemplateValue(TemplateValueSource valueSource)
 {
     return Path.GetFileName(valueSource.FileSystemEventArgs.FullPath);
 }
 public string GetTemplateValue(TemplateValueSource valueSource)
 {
     return valueSource.FileSystemEventArgs.ChangeType.ToString();
 }
 public string GetTemplateValue(TemplateValueSource valueSource)
 {
     return valueSource.ServiceToStopStatus;
 }
 public string GetTemplateValue(TemplateValueSource valueSource)
 {
     var renamedArgs = valueSource.FileSystemEventArgs as RenamedEventArgs;
     return renamedArgs == null ? valueSource.FileSystemEventArgs.Name : renamedArgs.OldName;
 }
 public string GetTemplateValue(TemplateValueSource valueSource)
 {
     return DateTime.Now.ToString("G");
 }