[Windows 2012] CDO.Message 메일발송 > 온라인강의

본문 바로가기
 
 
 
오늘 1,593
어제 1,674
최대 2,526
전체 3,401,160

최근 방문자

1706
1573
932
869
1674
1593
22 23 24 25 26 27
비즈니스의 시작 비즈명함 ~ 가격, 품질, 배송 3가지 만족을 드리는 비즈명함 / 즉석명함 / 급행서비스 / 서울 전지역 수도권일부 3시간배송

select * from g5_menu where me_use = '1' and me_link like '%lecture%'
온라인강좌 홈 > 온라인강좌 > 온라인강좌

WindowsServer | [Windows 2012] CDO.Message 메일발송 (update. 2016-01-05)

페이지 정보

작성일2015-02-03 17:28 조회7,037회 댓글0건

본문

관련강좌
[윈도우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,007건 1 페이지
온라인강의 목록
번호 제목
2007
2006
2005
2004
2003
2002
2001
2000
1999
1998
1997
1996
1995
1994
1993
1992
1991
1990
1989
1988
1987
1986
1985
1984
1983
게시물 검색
 
 
상호: 해피정닷컴 대표:정창용 사업자등록번호:119-05-36414 (08394) 서울시 구로구 디지털로 242 한화비즈메트로1차 1502호
전화: 070-7600-3500 팩스:02-865-3528 개인정보관리:정창용 mail@happyjung.com 에스크로확인
개인정보취급방침
COPYRIGHT 2001~2017 해피정닷컴. All rights reserved. 부가통신사업신고:서울체신청-1217 통신판매신고:2014-서울구로-0074
 
모바일 버전으로 보기