C# 서비스 검사기 프로그램이 있습니다. exe는 여러 인수 (예 : 확인하려는 서비스의 int 개수, 서비스 표시 이름의 문자열) 및 emailTo, emailFrom, emailServer 등과 같이 다수의 인수를 전달하는 박쥐 파일에서 시작됩니다. 서비스가 실행되고 있지 않으면 이메일이 전송됩니다. 이것은 이메일 부분에 대한 코드입니다 : 나는대로 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);
"localhost"를 박쥐 파일에 전달하고 실행하면 내가 확인하고 서비스는 다음 실행되고 있지 않은 경우 이메일이 잘 보내고 모든 것이 작동합니다. 그러나 다른 서버에서 나는 다시 "localhost"를 내 emailServer로 사용하지만 박쥐 파일을 실행할 때. System.Net.Mail.Smtp.Exception [8012] 오류가 발생하고 전자 메일이 보내지지 않습니다. 이 문제는 내 문제의 원인이되는 프로그램 (서버 설정이 내 강력한 영역이 아님)이 아닌 서버에서 설정되는 것입니다.
감사합니다.
함수 주위에'try ... catch (Exception ex)'를 사용하고'ex.Message'를 보여주십시오 ... – Marco
서비스 계정이 smtp 서버에 액세스 할 수 있습니까? – KMan