Exemplo n.º 1
0
        private static void ProcessCheckResult(ResourceCheckResult result)
        {
            if (result.IsOk)
            {
                foreach (var statusMessage in result.GetStatusReport())
                {
                    Console.WriteLine(statusMessage);
                }
                return;
            }

            var hasValidCommandLine = result.GetCommandLineParts(out string executableName, out string arguments);

            if (hasValidCommandLine)
            {
                ProcessStartInfo scriptInfo = new ProcessStartInfo(executableName, arguments);
                try
                {
                    Process.Start(scriptInfo);
                }
                catch (Exception ex)
                {
                    Console.WriteLine($"Script start failed. Message: {ex.Message}");
                }
            }

            _emailNotifier.SendMail(result);
        }
Exemplo n.º 2
0
        public void SendMail(ResourceCheckResult checkResult)
        {
            var subjectTmplate = _emailTemplates[checkResult.EventType].Subject;
            var bodytemplate   = _emailTemplates[checkResult.EventType].Body;

            var subject = checkResult.GetEmailSubject(subjectTmplate);
            var body    = checkResult.GetEmailBody(bodytemplate);

            try
            {
                using (MailMessage mail = new MailMessage
                {
                    From = new MailAddress(SenderEmail), Subject = subject, Body = body
                })
                {
                    foreach (string email in _admins.Values.ToArray())
                    {
                        mail.To.Add(new MailAddress(email));
                    }

                    SmtpClient client = new SmtpClient
                    {
                        Host           = Address,
                        Port           = int.Parse(Port),
                        DeliveryMethod = SmtpDeliveryMethod.Network,
                        Credentials    = new NetworkCredential(Login, Password)
                    };
                    client.Send(mail);
                }
            }
            catch (Exception e)
            {
                throw new Exception($"[MAIL_SEND_FAILED] Message: {e.Message}");
            }
        }