gbmin's Tech Notes

서버 구축 및 유지보수, 클라우드 컴퓨팅, 네트워크 보안, IT 분야 기술 노트. :)

Tech Notes/Script Language

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

gbmin 2023. 6. 16. 21:51

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도 이제 놔줘야 할 때다.