본문 바로가기
Tech Notes/Script Language

CDO 이용한 메일발송 예제 - ASP + (GMAIL SMTP)

by gbmin 2023. 6. 16.
반응형

ASP를 사용하여 CDO(Collaboration Data Objects)를 통한 이메일 발송방법과 예제를 정리


1. CDO(Collaboration Data Objects)

CDO는 Microsoft가 개발한 COM 기반의 컴포넌트 모델로, 이메일을 발송할 수 있게 제공한다. ASP와 CDO를 이용하면 서버에서 간단히 이메일을 발송할 수 있다. 특히, 복잡한 SMTP 설정 없이도 메일을 보낼 수 있고, 메일 서버를 직접 운영하지 않아도 된다.

 

 

2. SMTP 준비 (GMAIL 예시)

SMTP는 꼭 GMAIL 이 아니어도 되고 어떤 서버든 SMTP 발송 기능만 있으면 사용이 가능하다. GMAIL 환경 설정에서 POP 기능을 켜준다. 원래 아웃룩 같은 클라이언트 프로그램을 지원하기 위한 기능인데 SMTP를 도메인으로 연결해 쓸 수 있게 해 준다. CDO로 스크립트를 짤 때 이 SMTP를 이용하는 것이다.

gmail 환경설정

 

 

SMTP 설정 값은 설정 메뉴 하단에 설정 방법을 클릭하면 GMAIL 고객센터로 연결되고 아래와 같이 친절히 나와있다.

SMTP설정정보

 

3. 예제소스

<%
Dim objCDOMail 
Set objCDOMail = CreateObject("CDO.Message")

With objCDOMail
    .Configuration.Fields.Item _
    ("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2 

    ' SMTP 서버명 또는 IP를 넣음
    .Configuration.Fields.Item _
    ("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.example.com" 

    ' SMTP 서버 포트 (기본값은 25)
    .Configuration.Fields.Item _
    ("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25 

    ' SMTP 인증 방법을 설정 (1 = 기본값, 2 = NTLM)
    .Configuration.Fields.Item _
    ("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1 

    ' SMTP 사용자 이름
    .Configuration.Fields.Item _
    ("http://schemas.microsoft.com/cdo/configuration/sendusername") = "username" 

    ' SMTP 비밀번호
    .Configuration.Fields.Item _
    ("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "password" 

    .Configuration.Fields.Update 

    ' 보내는 사람의 이메일 주소
    .From = "sender@example.com" 

    ' 받는 사람의 이메일 주소
    .To = "receiver@example.com" 

    ' 이메일 제목
    .Subject = "Test CDO Mail" 

    ' 이메일 내용
    .TextBody = "This is a test CDO Mail." 

    ' 이메일 보내기
    .Send 
End With 

Set objCDOMail = Nothing 
%>

아주 간단히 메일을 발송할 수 있어 좋지만 기술지원도 안 하는 ASP CDO라 나중에 봐야 할 일이 있을 것 같아 기록해 둔다.