쓸만한 글

윈2003(IIS 6.0) 에서 웹메일 발송하기

봄돌73 2006. 8. 9. 18:34

출처 : http://blog.naver.com/tear230?Redirect=Log&logNo=100001801180



Windows 2003은 기존의 ASP 소스는 문제가 없으나 cdonts를 사용한 메일 발송이 안됩니다.

이유인즉 cdonts는 NT4.0에서 사용되던 것인데 그것이 Windows 2000에서는 하위 호환을 위하여 지원이 되었지만 Windows 2003에서는 없어졌기 때문이랍니다. 그래서 메일이 안나가는 겁니다.^^

 

1. 해결방법

소스를 수정하여 CDONTS가 아닌 CDO를 사용한다.
Server.CreateObject("CDONTS.NewMail")를 Server.CreateObject("CDO.Message")로 변경해서 사용한다. (cdosys.dll 를 사용바랍니다.)

 

CDO의 사용 예>


Set objMail = Server.CreateObject("CDO.MESSAGE")
objMail.From="aaa@mail.com"
objMail.To = request("email")
objMail.Subject= "subject"
objMail.HTMLBody= "body"
objMail.Send
objMail.close
Set objMail = Nothing

 

이상익님이 사용하신 예제>

 

Dim iMsg,  iConf, Flds, strHTML
Const cdoSendUsingPort = 2 
'1일 경우 로컬(SMTP), 2일 경우 외부(SMTP)로 메일전송

set iMsg = CreateObject("CDO.Message")
set iConf = CreateObject("CDO.Configuration")
Set Flds = iConf.Fields


Flds.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = cdoSendUsingPort   '1일 경우 로컬(SMTP), 2일 경우 외부(SMTP)로 메일전송
Flds.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "localhost"
Flds.Item("
http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 10
Flds.Update


Set iMsg.Configuration = iConf
iMsg.To = "
rjffp@hotmail.com" 'ToDo: Enter a valid email address.
iMsg.From = "
rjffp@hotmail.com" 'ToDo: Enter a valid email address.
iMsg.Subject = "This is a test CDOSYS message (Sent via Port 25)"
iMsg.HTMLBody = strHTML
iMsg.BodyPart.Charset="ks_c_5601-1987"

'/// 한글을 위해선 꼭 넣어 주어야 합니다.
iMsg.HTMLBodyPart.Charset="ks_c_5601-1987"

'/// 한글을 위해선 꼭 넣어 주어야 합니다.
iMsg.Send


End With
Set iMsg = Nothing
Set iConf = Nothing
Set Flds = Nothing

 

 

2. 해결방법 2

기존의 소스를 그대로 사용하고 싶다면 아래방법을 사용합니다.

 

1. Windows 2000에서 winnt\system32\inetsrv에 있는 cdonts.dll

   Windows 2003의 폴더로 복사한다.
2. 명령 창을 띄우고 regsvr32 cdonts.dll 라고 쳐서 등록해준다.
3. 확인 창에서 OK를 눌러준다.

 

자료출처 : howtobank.net에 이상익님이 올려주신 글과 http://www.ntfaq.co.kr에 올라온 글을 편집하여 올렸습니다.



''1일 경우 로컬(SMTP), 2일 경우 외부(SMTP)로 메일전송 출처 : http://blog.naver.com/s9712094?Redirect=Log&logNo=140015929553