2010-04-30 6 views
4

저는 .NET 플랫폼에 익숙하지 않습니다. 그리고 현재 ASP.NET MVC를 배우고 있습니다.ASP MVC : 전자 메일 보내기

나는 내 프로그램에서 전자 메일을 보내려고하고 나는 다음과 같은 코드가 있습니다

System.Net.Sockets.SocketException: No connection could be made because the target machine actively refused it 127.0.0.1:25 

: 나는 다음과 같은 예외를 얻을 수 있습니다이 코드를 실행할 때 이제

public void sendVerrificationEmail() 
    { 
     //create the mail message 
     MailMessage mail = new MailMessage(); 

     //set the addresses 
     mail.From = new MailAddress(""); 
     mail.To.Add(""); 

     //set the content 
     mail.Subject = "This is an email"; 
     mail.Body = "this is a sample body with html in it. <b>This is bold</b> <font color=#336699>This is blue</font>"; 
     mail.IsBodyHtml = true; 

     //send the message 
     SmtpClient smtp = new SmtpClient("127.0.0.1"); 
     smtp.Send(mail); 
    } 

을 이제 IIS 관리자 인 &에 매우 익숙합니다. 그래서 아마도 거기에 뭔가 잘못된 것이있을 것입니다.

가상 SMTP 서버 또는 뭔가를 설치해야합니까?. 현재 나는 다음과 같은 설정이 : 지금 몇 시간 동안 찾아 봤는데

http://img153.imageshack.us/img153/695/capture2p.pnghttp://img153.imageshack.us/img153/695/capture2p.png

을하지만 작업 솔루션을 찾을 수 없습니다.

도움을 받으실 수 있습니다!

답변

6

당신이

SmtpClient smtp = new SmtpClient("127.0.0.1"); 

를 호출로 로컬 호스트에 SMTP 서버가 있어야합니다. 그것이 없다면 네트워크의 MailServer를 사용할 수 있습니다. \ 임시 \ 메일을 보내지 않고 :

테스트 목적을 위해 당신이 C에서 당신의 전자 우편을 절약 할 수

<system.net> 
<mailSettings> 
     <smtp from="[email protected]" deliveryMethod="SpecifiedPickupDirectory"> 
     <network host="127.0.0.1" port="25" userName="userID" password="*****" defaultCredentials="true" /> 
     <specifiedPickupDirectory pickupDirectoryLocation="c:\Temp\mail\"/> 
     </smtp> 
    </mailSettings> 
    </system.net> 

를 사용할 수 있습니다.

+0

좋아요 감사 : 여기

은 예입니다? –

+0

오, 그리고 또 하나의 문제. 전자 메일을 보내는 코드는 클래스 라이브러리에 있습니다. 내 web.config의 설정에 액세스 할 수 있다고 생각하지 않습니까? –

+0

그렇다면 이러한 모든 속성을 코드 숨김으로 설정할 수 있습니다. – Amsakanna

0

글쎄, 127.0.0.1에서 실행중인 SMTP 서비스로 전자 메일을 보내려고하면 실제로 전자 메일을 받아들이도록 실행해야합니다.

IIS 관리자에 관한 것은 아무것도 없습니다. 간단한 상식으로 충분합니다. 기본적으로

:

  • 가 릴레이 SMTP 서비스를 설정하지 마십시오. 그냥하지 마.

  • IIS 구성에서 smtp 서비스를 구성합니다. 이렇게하면 web.config에 들어가고 응용 프로그램의 많은 부분에 하드 코드되지 않습니다.