[윈도우2008] CDO.Message 메일발송 CDO.Message.1 오류 '80040220'

by ADMINPLAY posted Jan 16, 2015
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄
1. 먼저 SMTP가 설치되어 있는지 확인 하자
서버관리자에 들어가서 기능요약 부분에 SMTP 서버 항목이 있는지 확인
없다면 기능 추가를 통해서 SMTP 서버를 설치


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

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

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

< %
'/////////////////////////////////////////////////
' 메일발송 모듈 2008
'/////////////////////////////////////////////////

Set objConfig = Server.CreateObject("CDO.Configuration")

 With objConfig.Fields
  .item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 1
  .item("http://schemas.microsoft.com/cdo/configuration/smtpserverpickupdirectory") = "C:\inetpub\mailroot\pickup"
  .item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "localhost"
  .item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 30
  .update
 End With

 Set objMessage = Server.CreateObject("CDO.Message")

 With objMessage
 Set .Configuration = objConfig
  .To = "수신메일주소"
  .From = "발신메일주소"
  .Subject = "메일제목"
  .HTMLBody = "메일내용"
  .Send
 End With

%>

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


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

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

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


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


참고사이트
http://www.taeyo.net/Forum/Content.aspx?SEQ=151954&TBL=ASP 
http://blog.naver.com/PostView.nhn?blogId=intoaction2&logNo=140119510817
http://wareway.net/archives/2171

Articles

1 2 3 4 5 6