반응형
과거 윈도우2000서버가 주류를 이루던 시절에는 CDONT 객체를 이용해 간편하게 메일을 보낼 수 있었다.
CDONT 가 사용하던 SMTP 서비스는 정상적인 서비스가 아니라 일종의 가상서버로 아주 단순한 몇가지 기능만 하도록 고안되었기 때문에 기능상에 문제점이 많았는데, 가령 메일을 여러개 발송할 경우 하루 있다가 발송되는등 지연발송이 잦고, 메일 발송시 에러가 발송해서 badmail 에 메일이 쌓여 서버 용량이 초과한다던가 혹은 중요한 메일이 발송되지 않고 실패해버리는 문제들이 빈번하게 발생한다.
윈도우2003 서버로 넘어가면서 더이상 CDONT 객체를 지원하지 않도록 바뀌었다.
따라서, 윈도우2003서버 상에서 메일을 발송하는 ASP 코드를 작성할때는 CDO 객체를 이용해야만 한다.
웹을 검색해보면 여러종류의 코드들이 있는데, 오랜만에 메일발송하는 코드를 다시 작성하다보니 한참을 헤매야만 했다.
그중에서 아래의 코드는 메일 발송이 성공한 코드이다.
--------------------------------------------------------
Set objConfig = Server.CreateObject("CDO.Configuration")
Set objMessage = Server.CreateObject("CDO.Message")
'메일 서버 세팅
Set Flds = objConfig.Fields
Flds("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "예) mail.website.com" ' 메일서버 IP 또는 메일서버 URL
Flds("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25 '포트번호
Flds("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2 'cdoSendUsingPort
Flds("http://schemas.microsoft.com/cdo/configuration/smtpaccountname") = "예) webmaster@abc.com" '계정이름
Flds("http://schemas.microsoft.com/cdo/configuration/sendemailaddress") = "예) webmaster@abc.com"
Flds("http://schemas.microsoft.com/cdo/configuration/smtpuserreplyemailaddress")= "예) webmaster@abc.com"
Flds("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1 'cdoBasic
Flds("http://schemas.microsoft.com/cdo/configuration/sendusername") = "예) webmaster@abc.com" '메일서버의 계정ID
Flds("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "메일계정의 비밀번호" '메일서버의 계정 비밀번호
Flds.Update
'발송할 내용 세팅
Set objMessage.Configuration = objConfig
objMessage.BodyPart.Charset = "ks_c_5601-1987" '한글설정
objMessage.To = mailto '받을 메일 주소
objMessage.From = mailfrom '보내는 메일 주소
'objMessage.CC = "참조 주소"
objMessage.Subject = subject '제목
objMessage.HtmlBody = content '내용
objMessage.fields.update
objMessage.Send '발송
Set objMessage = Nothing
Set objConfig = Nothing
--------------------------------------------------------
위의 코드에서 보여지듯이, 호스팅 업체에서 제공한 메일서버 URL 을 기재한다.
그리고, 호스팅 업체의 '마이페이지' 같은 곳에서 보면 메일 계정을 설정하는 부분이 있다.
그곳에서 사용할 메일 계정을 등록하고 비밀번호를 입력한다.
예를 들어, abc 라는 호스팅 업체에서 메일 계정을 받으면 아래와 같은 유사한 형태의 정보를 얻게 될 것이다.
메일서버URL: mail.abc.com
메일계정(메일계정 아이디는 직접 입력할 수 있으며 대체로 1개 정도 설정할 수 있다.)
: webmaster@abc.com
위에서 보면, webmaster 라는 메일 아이디는 사용자가 직접 선택 입력한 아이디 이다.
대부분, '웹마스터' 라는 이름으로 관리자 메일주소를 만들터이니, 위와같이 생성할 가능성이 많다.
메일계정비밀번호: 임의의 비밀번호를 직접 입력한다.
메일계정 비밀번호는 메일계정을 작성할때 직접 입력하도록 할 것이다.
이것을 잘 기억했다가, ASP 코드를 작성할때 넣어줘야 한다.
일반적으로, 웹호스팅 업체에서 기본제공하는 메일계정은 1개 이고, 별도의 툴이 없어서 사용자가 자신의 컴퓨터에서 Outlook Express 로 접속을 해야할 것이다.
그나마, 메일주소 포워딩을 지원한다면, 자신이 주로 사용하는 메일주소에 포워딩해서 간편하게 이용이 가능할수도 있다.
P.S.
메일계정 정보만 정확하면, 로컬호스트에서도 메일발송이 정상적으로 이뤄집니다.
참고 해두면 좋은 글:
[강좌] 왜 CDONT를 쓰면 안되는가?
CDO 를 이용한 SMTP 메일 보내기
보다 많은 정보의 검색:
asp 메일발송
반응형
'상식, 영화, 음악, 취미 > #잡스타그램' 카테고리의 다른 글
몽골족-바투칸 (0) | 2013.04.02 |
---|---|
이메일 관련 용어 정리 (0) | 2013.04.02 |
손자병법이 말하는 이기는방법 (0) | 2013.04.02 |
스티브잡스가 그립습니다. (0) | 2013.04.02 |
이메일 SMTP 에러 응답모음 (0) | 2013.04.02 |