[Windows 2012] CDO.Message 메일발송 > 기술자료 | 해피정닷컴

[Windows 2012] CDO.Message 메일발송 > 기술자료

본문 바로가기

사이트 내 전체검색

[Windows 2012] CDO.Message 메일발송 > 기술자료

WindowsServer [Windows 2012] CDO.Message 메일발송

페이지 정보


본문

관련강좌
[윈도우2000] CDONTS.NewMail 이용 메일발송
[윈도우2003] CDO.Message 메일발송
[윈도우2008] CDO.Message 메일발송
[윈도우2012] CDO.Message 메일발송


1. 먼저 SMTP가 설치되어 있는지 확인 하자
서버관리자에 들어가서 기능요약 부분에 SMTP 서버 항목이 있는지 확인
없다면 기능 추가를 통해서 SMTP 서버를 설치


2. 코드
보통 CDO.Message 객체만 생성해서 보낼 경우 아래와 같은 오류가 발생합니다.

CDO.Message.1 오류 '80040220'
"SendUsing" 구성 값이 잘못되었습니다.

이런 경우 Configration 객체로 구성값을 구성합니다.

<%
'/////////////////////////////////////////////////
' 메일발송 모듈 2012
'/////////////////////////////////////////////////
    dim mail_from, mail_to, mail_cc, mail_subject, mail_body, mail_type
    dim objconf, Flds

    mail_from = request("mail_from")       '  보내는 사람의 메일주소
    mail_to = request("mail_to")       '  받는 사람의 메일주소
    mail_cc = request("mail_cc")      '  참조
    mail_bcc = request("mail_bcc")     ' 숨은 참조
    mail_subject = request("mail_subject")      '메일의 제목
    mail_body = request("mail_body")       '  메일 내용
    mail_type = request("mail_type")      '  메일 형식 ( 0 : HTML , 1: text )

    Set objMail = Server.CreateObject("CDO.Message")   '  CDO 2.0(메일 보내기 컴포넌트 개체 생성)
    objMail.From = mail_from   '  메일을 보내는 사람의 이메일 주소
    objMail.To = mail_to   ' 메일을 받는 사람의 이메일주소(여러사람일 경우는 ; 표시로 구분)

    Set objconf = objMail.Configuration
    Set Flds = objconf.Fields
    Flds.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 1  '1 (로컬 SMTP) / 2 (외부 SMTP)
    Flds.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "127.0.0.1" ' 메일서버 IP 또는 메일서버 URL
    Flds.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25  '포트번호 gmail = 465  
    Flds.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverpickupdirectory") = "c:\Inetpub\mailroot\Pickup"
    '외부SMTP 이용시 아래 주석제거
    'Flds.Item("http://schemas.microsoft.com/cdo/configuration/smtpaccountname") = "계정이름"  '계정이름
    'Flds.Item("http://schemas.microsoft.com/cdo/configuration/sendemailaddress") = "이메일"  ' 발신메일
    'Flds.Item("http://schemas.microsoft.com/cdo/configuration/smtpuserreplyemailaddress")= "이메일" ' 회신메일주소
    'Flds.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1  'cdoBasic
    'Flds.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "메일서버_아이디"  '메일서버의 계정ID
    'Flds.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "메일서버_비밀번호"  '메일서버의 계정 비밀번호

    Flds.update
    'SendUsing 관련 설정 끝

    objMail.Cc = mail_cc       '  메일 참조
    objMail.Bcc = mail_bcc       '  숨은 참조
    objMail.Subject = mail_subject       '   메일 제목
    'HTML 형식으로 보낼건지 결정
    If mail_type = "0" Then
        objMail.HTMLBody = mail_body
    Else
        objMail.TextBody = mail_body
    End if
    objMail.Send   '  메일 보내기 메소드(이부분이 보내는 부분)
    Set objMail = Nothing

%>

코드는 위와 같으며, 위의 경우는 로컬 SMTP 서버를 이용해서 보내는 경우 일반적인 세팅방법입니다.


3. mailroot 폴더 권한 설정
위와 같이 했음에도 다음과 같은 에러가 발생할 수 있습니다.

CDO.Message.1 오류 '80070005'
액세스가 거부되었습니다.

이건 로컬 SMTP를 이용해 보내는 경우 Pickup 디렉토리를 이용하는데 폴더에 적절한 권한에 없어서 발생하는 에러입니다.
mailroot 폴더에 IIS_IUSRS 사용자그룹에 쓰기권한을 부여합니다.


위와 같이 하면 메일이 잘 발송될 것입니다

댓글목록

등록된 댓글이 없습니다.


Total 2,636건 50 페이지
  • RSS
기술자료 목록
1656
그누보드   14192  2015-03-12 17:06  
1655
일반   15014  2015-03-12 16:26 ~ 2020-01-13 17:45  
1654
WindowsServer   20041  2015-03-10 08:51  
1653
영카트   11918  2015-03-05 17:08  
1652
영카트   12356  2015-03-05 16:53 ~ 2018-11-29 18:27  
1651
일반   10326  2015-02-28 11:43  
1650
그누보드   17293  2015-05-10 19:17 ~ 2018-11-15 07:37  
1649
Oracle   14149  2015-02-26 23:13  
1648
일반   21109  2015-02-26 10:50 ~ 2015-03-25 00:00  
1647
그누보드   21988  2015-02-22 18:06 ~ 2019-09-19 23:16  
1646
PHP   22176  2015-02-17 23:32  
1645
ClassicASP   20310  2015-02-11 17:39  
1644
PHP   64718  2015-02-09 09:56 ~ 2023-02-24 11:06  
열람
WindowsServer   27662  2015-02-03 17:28 ~ 2016-01-05 00:00  
1642
WindowsServer   29565  2015-02-01 13:28  
1641
WindowsServer   50712  2015-01-16 17:46 ~ 2015-01-16 00:00  
1640
WindowsServer   16799  2015-01-16 17:42  
1639
그누보드   13258  2015-01-12 22:59  
1638
그누보드   14159  2015-01-02 14:43 ~ 2017-11-17 05:34  
1637
그누보드   25338  2015-01-02 14:39 ~ 2015-01-09 00:00  

검색

해피정닷컴 정보

회사소개 회사연혁 협력사 오시는길 서비스 이용약관 개인정보 처리방침

회사명: 해피정닷컴   대표: 정창용   전화: 070-7600-3500   팩스: 042-670-8272
주소: (34368) 대전시 대덕구 대화로 160 대전산업용재유통단지 1동 222호
개인정보보호책임자: 정창용   사업자번호: 119-05-36414
통신판매업신고: 제2024-대전대덕-0405호 [사업자등록확인]  
Copyright 2001~2025 해피정닷컴. All Rights Reserved.