Classic ASP에서 CDO를 사용하여 이메일 발송하기

Classic ASP에서 CDO를 사용하여 이메일 발송하기

Classic ASP에서 이메일 발송 기능은 웹 애플리케이션에서 사용자에게 알림, 회원 가입 인증, 비밀번호 찾기 등 다양한 목적으로 활용됩니다. 이메일 발송을 위해 Classic ASP에서는 Collaboration Data Objects (CDO) 라이브러리를 사용할 수 있습니다. CDO는 마이크로소프트에서 제공하는 객체 지향 인터페이스로 이메일 메시지를 생성하고 전송하는 데 사용됩니다.

1. CDO 라이브러리를 사용하여 메일 발송

CDO를 사용하기 위해서는 먼저 메일 발송에 필요한 설정 값을 구성해야 합니다. 이 설정 값들은 메일 서버, 포트 번호, 연결 시간 등을 포함하며 필요에 따라 사용자 정의 헤더를 추가할 수도 있습니다.


▼ 예제 코드

<%
    ' 응답 만료 시간 및 인코딩 설정
    Response.Expires = 0
    Response.CharSet = "euc-kr"

    ' 에러 처리 설정
    On Error Resume Next
    Err.Clear

    ' 메일 발송 관련 변수 설정
    Dim sendFrom, sendTo, sendSubject, sendMailBody
    Dim objMail, MailConfig

    sendFrom = "BlueShare@BlueShare.tistory.com"
    sendTo = "BlueShare@BlueShare.tistory.com"
    sendSubject = "메일 발송 테스트"
    sendMailBody = "<h1>메일 본문 입니다.</h1>"

    ' 메일 객체 생성
    Set objMail = Server.CreateObject("CDO.Message")
    Set MailConfig = objMail.Configuration

    With MailConfig
        ' 메일 발송 설정

        '1:로컬(smtp)  2:외부(smtp)
        Fields.item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2

        '호스트설정
        Fields.item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "10.10.10.10"

        'SMTP Port
        Fields.item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25

        '연결시간
        Fields.item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 30

        ' 사용자 정의 헤더 추가 필요시 (샘플)
        Fields.Item("urn:schemas:mailheader:X-Custom-Header") = "Sensitivity: personal"

        ' 설정 업데이트
        Fields.Update
    End With

    ' MailConfig 객체 해제
    Set MailConfig = Nothing

    ' 메일 정보 설정
    objMail.From = sendFrom
    objMail.To = sendTo
    objMail.Subject = sendSubject
    objMail.HTMLBody = sendMailBody

    ' 메일 발송
    objMail.send

    ' 메일 객체 해제
    Set ObjMail = Nothing

    ' 에러 체크 및 결과 출력
    If Err.Number <> 0 Then
        Response.write "메일 발송 에러"
    Else
        Response.write "메일 발송 성공"
    End if
%>


☞ 다음과 같은 과정으로 이메일을 발송합니다.

  1. 응답 만료 시간 및 인코딩을 설정합니다.
  2. 에러 처리를 설정합니다.
  3. 메일 발송에 필요한 변수를 선언하고 초기화합니다.
  4. 메일 객체를 생성하고, 발송 설정을 지정합니다.
  5. 메일 정보(발신자, 수신자, 제목, 본문)를 설정합니다.
  6. 메일을 발송하고 발송 결과를 확인합니다. 발송에 성공하면 “메일 발송 성공”이라는 메시지를 출력하고 실패한 경우 “메일 발송 에러” 메시지를 출력합니다.

2. 주의사항 및 환경에 따른 발송 제한

CDO를 사용하여 이메일을 발송할 때 몇 가지 주의사항이 있습니다.

  • 발송 제한: 메일 서버에서 일정 시간 동안 발송 가능한 이메일 수에 제한이 있을 수 있으므로 이를 확인해야 합니다.
  • 스팸 필터: 발송된 이메일이 수신자의 스팸 폴더로 분류될 수 있으므로 이를 방지하기 위한 추가 작업이 필요할 수 있습니다.

3. 추가적인 기능 구현(HTML 메일 본문, 첨부 파일 등)

CDO 라이브러리를 사용하여 다양한 추가 기능을 구현할 수 있습니다.

  • HTML 메일 본문: objMail.HTMLBody 속성을 사용하여 HTML 형식의 이메일 본문을 작성할 수 있습니다.
  • 첨부 파일: objMail.AddAttachment 메서드를 사용하여 이메일에 파일을 첨부할 수 있습니다.


이 외에도 CDO 라이브러리를 사용하여 이메일 발송에 관련된 다양한 작업을 수행할 수 있습니다.


이 글이 도움이 되셨다면 공유를 부탁 드립니다. 다음 글에서 뵙겠습니다!

관련 이전 게시글

Classic ASP에서 XMLHTTP를 사용한 JSON 통신: 예제 코드 및 구현 방법

위로 스크롤