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); }
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}"); } }