안규 공부방

ACTIVE SERVER PAGE > 메일링 리스트

등록일 : 2017-07-04 17:45 조회수 : 92,784

이번에는 메일링 리스트를 구현하기로 하자.
먼저 아래와 같이 메일링 리스트를 가입하는 폼을 만들자.
이젠 이런 부분은 쉽게 구현이 가능할 거란 생각이 든다... 그러나, 여기서 중요한 것은
관심분야 별로 여수관련자료,해양,,, 인터넷 최신정보등,,,
관심분야를 선택을 받아서 관심분야가 적합한 사람들에게 매일을 보내게 되는 것이다.
(여기서는 관심분야는 여러개가 될 수도 있다. )


 
아래의 그림은 메일을 보내는 폼이다. 파일 첨부를 비롯해서 관심분야를 선택을 하면 관심분야가
동일한 회원에게 모두 메일을 보내게 되는 것이다.

 
subject = request("subject")
 
	if request("file")<>"" then
		filename=request("file")
	end if

	if NOT IsNull(Request("sele1")) then
		sele=Request("sele1")
	end if
       
	if NOT IsNull(Request("sele2")) then
		sele=sele & Request("sele2")
	end if
 
	if NOT IsNull(Request("sele3")) then
		sele=sele & Request("sele3")
	end if
 

	 ' sele 변수에는 관련분야의 값들이 되는 것이다. 여기에서는 sele1,sele2,sele3 으로 a,b,c 값으로 
	넘어오게 되며, 
	체크가 되어 있는지 되어 있지 않은지를 비교하게 되어 sele변수에 합하게 된다.  

	k=Len(sele)
 
	sql="select mail,sele from email where "
 
	if k=1 then
		sql=sql& "sele LIKE'%" & sele & "%' "
	else
	for i=1 to k
		find= Mid(sele,i,1)
		sql=sql & "sele LIKE'%" & find & "%' "
       
		if i<>k then 
			sql=sql & " or "
		end if 
        
		next      
	end if   

	' 다음은 메일링 리스트를 구현하기 위한 것이다. 쉽게 말해서 회원의 관심분야와 내용의 
	관심분야가 일치하는 (하나 라도) 사람들의 메일을 취하게 되는 것이다.  조금만 보면 쉽게 로직이 
	이해가 가리라 생각된다. 
    
	content = request("content")
	content = replace(content,"chr(13)& chr(10)","<br>")

	Set db = Server.CreateObject("ADODB.Connection")
	db.Open("DSN=polcomm;UID=sa;PWD=;")
	SEt rs=db.Execute(sql)
 
	do while not rs.eof 
	set objMail=Server.CreateObject("CDONTS.NewMail")
 
	' CDO 컴포넌트의 객체를 생성 한다. 이 객체를 Loop 안에 넣은 이유는 CDO 컴포넌트는 Send 명령을 
	사용하게 되면 자동 소멸되기 때문이다.

	if filename<>"" then
		objMail.attachFile(filename)
	end if


	'화일이 비어있지 않으면 파일을 전송하게 된다. 
  
	objMail.To=trim(rs("mail"))
	objMail.From="aaa@aaa.co.kr"
	objMail.Subject=subject

	objMail.BodyFormat=1    ' 텍스트로 보낸다.   html 형식은 '0'이 들어간다.
	objMail.MailFormat=1     ' 텍스트로 보낸다.   html 형식은 '0'이 들어간다.
	objMail.body=content     ' 보낼 내용을 Body에 연결한다. 
	objMail.Send           ' 이젠 메일을 보내게 된다.
 
	rs.movenext
	loop
 
	set objMail=nothing
	


     
cdonts 를 이용해서 메일 발송후 받은유무를 확인하는법
 
Set MailObject = Server.CreateObject("CDONTS.NewMail") 
	MailObject.From = "lcand@netian.com" 
	MailObject.To = "lcand@daum.net" 
	MailObject.Value("Return-Receipt-To") = "aaa@netina.com" 
	MailObject.Subject = "테스트" 
	MailObject.Body = "테스트내용" 
	MailObject.Send 
	Set MailObject = Nothing 
  
	여기서 다시 메일 받는 부분입니다 
	MailObject.Value("Return-Receipt-To") = "aaa@netina.com" 
 
※ 혹시 도움이 되셨다면 댓글에 한마디 남겨주세요!
작성자   비밀번호
자동글 방지     (자동글 방지 기능입니다.)
내용   댓글달기 
이메일 문의 : cak0280@nate.com  
Copyright 2000 By ENTERSOFT.KR All Rights Reserved.