У меня есть программа проверки сервисов C #. Exe запускается из файла bat, который также передает ряд аргументов (например, число int, сколько сервисов вы хотите проверить, строку отображаемого имени сервиса), а также emailTo, emailFrom, emailServer и т. Д., Как будто служба не работает, письмо будет отправлено. Это код для части электронной почты:
MailMessage mail = new MailMessage(emailFrom, emailTo);
SmtpClient SMTP = new SmtpClient(emailServer);
if (emailUser != "")
{
SMTP.Credentials = new NetworkCredential(emailUser, emailPass);
}
mail.Subject = "The " + service + " service has stopped running";
mail.Body = "Please take a look into the " +
service + " service and think about restarting.";
SMTP.Send(mail);
Таким образом, на одном сервере я использую emailServer в качестве «localhost», переданного внутрь, в файле bat, и когда он запускается, если служба, которую я проверяю, не работает, то письмо отправляется нормально, и все работает. Однако на другом сервере я снова использую «localhost» в качестве почтового сервера, но при запуске файла bat. Я получаю сообщение об ошибке System.Net.Mail.Smtp.Exception [8012], и электронное письмо не отправляется. Это не то, что настроено на сервере, а не программа, которая вызывает мою проблему (конфигурация сервера не является моей сильной стороной).
Спасибо.