CDO 객체를 이용해 메일 발송이 가능한 예제를 안내드립니다.
카페24 윈도우호스팅서버는 smtp를 지원하지 않기 때문에
메일서버(mw-001.cafe24.com 또는 mw-002.cafe24.com)에 연동하여 발송할 수 있도록 소스가 프로그래밍 되어 있습니다.
첨부파일 기능포함 여부에 따라 예제가 상이하오니 필요에 따라 선택하시어 이용 바랍니다.
※ 리셀러일 경우 .Item(cdoSMTPServer) = "메일서버주소"
이 부분은 .Item(cdoSMTPServer) = "mail-001.리셀러도메인" 와 같이 수정해 주세요.
※ 일반적인 CDO 메일발송과 다른점은 SMTP 인증에 관한 부분이 추가되어 있는 점입니다.
참고로 CDONTS 객체는 원격접속과 SMTP 인증기능이 없으므로 위와 같이 CDO 로 구현하셔야 합니다.
▶ CDO 객체를 이용한 메일발송 ASP 예제
<%
Const cdoSendUsingMethod = _
"http://schemas.microsoft.com/cdo/configuration/sendusing"
Const cdoSendUsingPort = 2
Const cdoSMTPServer = _
"http://schemas.microsoft.com/cdo/configuration/smtpserver"
Const cdoSMTPServerPort = _
"http://schemas.microsoft.com/cdo/configuration/smtpserverport"
Const cdoSMTPConnectionTimeout = _
"http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout"
Const cdoSMTPAccountName = _
"http://schemas.microsoft.com/cdo/configuration/smtpaccountname"
Const cdoSMTPAuthenticate = _
"http://schemas.microsoft.com/cdo/configuration/smtpauthenticate"
Const cdoBasic = 1
Const cdoSendUserName = _
"http://schemas.microsoft.com/cdo/configuration/sendusername"
Const cdoSendPassword = _
"http://schemas.microsoft.com/cdo/configuration/sendpassword"
Dim objConfig ' As CDO.Configuration
Dim objMessage ' As CDO.Message
Dim Fields ' As ADODB.Fields
' Get a handle on the config object and it's fields
Set objConfig = Server.CreateObject("CDO.Configuration")
Set Fields = objConfig.Fields
' Set config fields we care about
With Fields
.Item(cdoSendUsingMethod) = cdoSendUsingPort
.Item(cdoSMTPServer) = "메일서버주소"
.Item(cdoSMTPServerPort) = 25
.Item(cdoSMTPAuthenticate) = cdoBasic
.Item(cdoSendUserName) = "POP메일아이디@POP메일도메인"
.Item(cdoSendPassword) = "POP메일비밀번호"
.Update
End With
Set objMessage = Server.CreateObject("CDO.Message")
Set objMessage.Configuration = objConfig
With objMessage
.To = "batman@gotham.com"
.From = "superman@crypton.net"
.Subject = "Hello, this is test mail"
.HTMLBody = "Hello"
.Send
End With
Response.Write "Success"
Set Fields = Nothing
Set objMessage = Nothing
Set objConfig = Nothing
%>
▶ CDO 객체를 이용한 메일발송 ASP 예제 - 첨부파일 기능 포함
※ Upload Componet는 DEXTupload Pro를 예로 하였으며, 사용하시는 Upload Componet에 맞게끔 소스를 수정하시기 바랍니다.
<%
Set Uploadform = Server.CreateObject("DEXT.FileUpload")
Uploadform.DefaultPath = Server.MapPath("/업로드저장폴더명") '또는 절대경로(폴더에 쓰기권한 설정 필요)
AttachFile = Uploadform("attachfile").FileName
Const cdoSendUsingMethod = "http://schemas.microsoft.com/cdo/configuration/sendusing"
Const cdoSendUsingPort = 2
Const cdoSMTPServer = "http://schemas.microsoft.com/cdo/configuration/smtpserver"
Const cdoSMTPServerPort = "http://schemas.microsoft.com/cdo/configuration/smtpserverport"
Const cdoSMTPConnectionTimeout ="http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout"
Const cdoSMTPAccountName = "http://schemas.microsoft.com/cdo/configuration/smtpaccountname"
Const cdoSMTPAuthenticate = "http://schemas.microsoft.com/cdo/configuration/smtpauthenticate"
Const cdoBasic = 1
Const cdoSendUserName = "http://schemas.microsoft.com/cdo/configuration/sendusername"
Const cdoSendPassword = "http://schemas.microsoft.com/cdo/configuration/sendpassword"
Const cdoSendUsingPickup = "http://schemas.microsoft.com/cdo/configuration/smtpserverpickupdirectory"
Dim objConfig ' As CDO.Configuration
Dim objMessage ' As CDO.Message
Dim Fields ' As ADODB.Fields ' Get a handle on the config object and it's fields
Set objConfig = Server.CreateObject("CDO.Configuration")
Set Fields = objConfig.Fields ' Set config fields we care about
With Fields
.Item(cdoSendUsingMethod) = cdoSendUsingPort
.Item(cdoSMTPServer) = "메일서버주소"
.Item(cdoSMTPServerPort) = 25
.Item(cdoSMTPAuthenticate) = cdoBasic
.Item(cdoSendUserName) = "POP메일아이디@POP메일도메인"
.Item(cdoSendPassword) = "POP메일비밀번호"
.Item(cdoSendUsingPickup) = Uploadform.DefaultPath
.Update
End With
Set objMessage = Server.CreateObject("CDO.Message")
Set objMessage.Configuration = objConfig
With objMessage
.To = "batman@gotham.com"
.From = "superman@crypton.net"
.Subject = "Hello, this is test mail"
.HTMLBody = "Hello"
If AttachFile <> "" Then
.AddAttachment Uploadform.DefaultPath & "/" & AttachFile
End If
.Send
End With
Response.Write "Success"
Set Fields = Nothing
Set objMessage = Nothing
Set objConfig = Nothing
%>
▶ POP 메일 계정은 [나의서비스관리 > 호스팅 관리 > 이메일계정 추가/삭제] 생성이 가능합니다.
메일서버주소(POP3/SMTP서버주소)는 [POP메일계정 추가/삭제] 페이지에서 확인하실 수 있습니다.
해당 메일서버 주소는 하기 이미지와 같이 값을 제공하며, 계정별로 상이하오니 꼭 직접 확인 부탁드립니다.