[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 69건 1 페이지
  • RSS
기술자료 목록
69
WindowsServer   9748  2017-11-17 07:40  
68
WindowsServer   11488  2017-05-17 18:54  
67
WindowsServer   15233  2017-05-12 14:11 ~ 2017-05-30 00:00  
66
WindowsServer   13319  2017-05-04 15:25  
65
WindowsServer   11788  2017-03-04 04:58  
64
WindowsServer   18450  2017-03-04 04:17  
63
WindowsServer   10354  2017-03-04 02:47  
62
WindowsServer   14035  2017-03-03 18:55  
61
WindowsServer   23169  2016-06-27 23:36  
60
WindowsServer   15528  2016-02-29 18:25  
59
WindowsServer   11981  2016-02-24 21:32  
58
WindowsServer   12621  2016-02-03 21:48  
57
WindowsServer   16687  2016-02-03 14:54  
56
WindowsServer   14682  2016-01-09 23:05  
55
WindowsServer   17042  2015-03-17 21:31  
54
WindowsServer   19614  2015-03-10 08:51  
열람
WindowsServer   27306  2015-02-03 17:28 ~ 2016-01-05 00:00  
52
WindowsServer   29317  2015-02-01 13:28  
51
WindowsServer   49952  2015-01-16 17:46 ~ 2015-01-16 00:00  
50
WindowsServer   16592  2015-01-16 17:42  

검색

해피정닷컴 정보

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

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