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"