요구 사항 중 하나가 ASP.NET 응용 프로그램을 다시 작성하는 프로젝트에서 작업하고 있습니다. 이전 ASP.NET 응용 프로그램은 .NET Framework 1.1을 기반으로했습니다. 새로운 ASP.NET 응용 프로그램은 .NET Framework 3.5를 기반으로합니다.ASP.NET - SmtpClient - 원격 서버에 연결할 수 없습니다.
이전 웹 응용 프로그램의 기능 중 하나는 전자 메일을 보내는 기능이었습니다. 이전 코드에서는 System.Web.Mail.SmtpMail
클래스를 사용했지만 새 웹 응용 프로그램에서는 System.Net.Mail.SmtpClient
클래스를 사용했습니다.
개발 서버에서이를 테스트 할 때 모든 것이 정상적으로 수행되었습니다. 그러나 우리는 소프트웨어를 테스트하는 2 명의 베타 클라이언트를 가지고 있으며, 둘 다 새 웹 응용 프로그램에서 전자 메일을 보내는 데 문제가 있습니다. 다음과 같이
특정 예외입니다 :
원격 서버에 연결할 수 없습니다---> System.Net.Sockets.SocketException : 대상 컴퓨터가 적극적
으로 거부했기 때문에 없음 연결을 만들 수 있습니다
이전 및 새 ASP.NET 응용 프로그램이 모두 동일한 서버 (Windows Server 2003)에 있습니다. 둘 다 동일한 Exchange 메일 서버를 사용하고 있습니다. 이전 ASP.NET 응용 프로그램이 전자 메일을 성공적으로 보낼 수 있지만 새로운 전자 메일 응용 프로그램이 전자 메일을 보낼 수없는 이유는 무엇입니까?
이전 코드를 살펴본 결과 인증 양식을 사용하지 않고 발신자의 전자 메일 주소,받는 사람의 전자 메일 주소, 제목, 본문 및 서버를 지정하고 메시지를 보냈습니다. 새로운 코드에서 똑같은 일을했지만 SmtpClient 클래스를 사용한다는 점만 다릅니다.
System.Net.Mail.MailMessage mail = new System.Net.Mail.MailMessage();
mail.To.Add(messageTo);
mail.From = new MailAddress(messageFrom);
mail.Subject = messageSubject;
mail.Body = messageBody;
SmtpClient client = new SmtpClient();
client.Host = smtpServer;
client.Send(mail);
Exchange 로그에 연결을 거부하는 내용이 있습니까? – David
나는 그들에게 접근 할 수 없기 때문에 베타 클라이언트가 그들에게 접근 할 수 있다고 생각하지 않는다. 다시 말하지만, 이것은 우리의 목적을 위해 잘 작동했습니다. 꽤 기본적인 기능입니다. – Chris
서버를 어떻게 지정합니까? SmptClient의 생성자 또는 web.config에서? 몇 가지 코드를 게시 할 수 있습니까? – onof