Почтовое исключение при запуске программы на сервере? - PullRequest
0 голосов
/ 20 января 2012

У меня есть программа проверки сервисов 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], и электронное письмо не отправляется. Это не то, что настроено на сервере, а не программа, которая вызывает мою проблему (конфигурация сервера не является моей сильной стороной).

Спасибо.

1 Ответ

0 голосов
/ 20 января 2012

Есть ли почтовый сервер, работающий на сервере, где происходит сбой вашей программы? Вы пытаетесь отправить электронное письмо на localhost (т. Е. На компьютер, на котором выполняется ваша программа). Если SMTP-порт 25 не отвечает на этом компьютере, ваша электронная почта не будет доставлена.

Для emailServer необходимо указать имя хоста компьютера в вашей сети, который может принимать и обрабатывать электронную почту. Обычно вы не будете использовать localhost для имени этого компьютера.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...