mailwriteok.asp
<%
frommail=request("frommail")    '메일주소를 넘겨받음
title=request("title")          '메일제목을 넘겨받음
content=request("content")      '메일내용을 넘겨받음


title = replace(title,"'","''")                 '메일제목을 디비에 저장하기위해 replace처리를 해줌
content=replace(content,"'","''")               '위와같음
content=replace(content,chr(13)&chr(10),"<br>") '이건 걍.....


    SQL = "SELECT receiver FROM mail"
 set rs = Server.CreateObject("ADODB.Recordset")
 rs.open SQL,session("db")
'보낼메일주소가 저장되어 있는 테이블에서 메일주소를 검색함


    sql= "select MAX(num) from mailinsert"
 set rss=Server.CreateObject("ADODB.Recordset")
 rss.open SQL,session("db")
'메일제목과 내용이 저장될 테이블에서 가장큰 넘버값을 검색함


 if Isnull(rss(0)) then
  number=1
 else
  number=rss(0)+1
 end if
 rss.Close
'테이블에 아무것도 없으면 넘버는 1이고 그렇지 않으면... 알죠?


do until rs.eof
'until문을 썼음..


 SQL = "INSERT INTO mailinsert (num,writeday,receiver,title,content,mailread)VALUES "
 SQL = SQL & "(" & number
 SQL = SQL & ",'" & now() & "'"
 SQL = SQL & ",'" & rs("receiver") & "'"
 SQL = SQL & ",'" & title & "'"
 SQL = SQL & ",'" & content &"'"
 SQL = SQL & ",0)"
 session("db").Execute SQL
'메일일련번호,날짜,보내는메일주소,메일제목,메일내용,0값을 mailinsert테이블에 저장함
'mailread가 0이면 메일을 읽지 않은것이고 1이면 읽은것이고...


    set mail=server.createobject("cdonts.newmail") '메일객체 생성(CDONTS)


 mail.to = rs("receiver")'받는사람
 mail.from=frommail '보내는사람
 mail.subject=title  '제목
 mail.body=content & "<img src=http://www.ttt.com/checkReceiver.asp?idx="&number&" width=0 height=0>"
'가장중요함.. 메일내용끝에 img태그를 써서 메일일련번호(number값)를 checkReceiver.asp파일로 넘겨줌..
'이거 구현하는게 가장 힘들었음.. 머리가 나빠서.. 캬캬캬
'우리회사 윤대리님 아니었으면 구현못했음.. 윤대리님에게 무진장 감사하다는 말씀 올립니다.


    mail.bodyformat=0 '태그형태로 보냄
 mail.mailformat=0
 mail.send '메일보내기


 number = number + 1
'number를 왜 +1해주는지 알죠?
 rs.movenext
loop
rs.Close
Response.redirect "mailsendok.html"
%>
자 이제는 상대방이 메일을 읽으면 메일일련번호를 checkReceiver.asp로 넘겨주겠죠?
그럼 checkReceiver.asp를 알아보죠.
checkReceiver.asp
<%


Sql = "update mailinsert set mailread=1 where num=" & request("idx")


session("Db").execute sql
%>
checkReceiver.asp파일은 간단하죠?
메일일련번호를 checkReceiver.asp에서 넘겨받으면 메일일련번호와 똑같은 것을
1로 업데이트 해주는 것입니다.
위에서도 말했지만 mailread가 0이면 안읽은 것이고 1이면 읽은것이죠.
이제 끝입니다.
무진장 간단하죠?
이렇게 간단한것을 무려 3일동안 머리싸매고 고민했습니다.
그리고 우리회사 윤대리님 아니었으면 구현하지도 못했죠..
내 아이큐가 그렇게 나쁜게 아닌데...캬캬캬
그러고 보니까 이 모든 것이 태오님 책에서 보고베끼고 응용한 것이네요..
끝으로 loveroad님,태오님,우리회사 윤대리님에게 감사의 말씀 올립니다.


p.s : 소스가 뭔가 이상하다고 생각되어도 뭐라고 하면 안됨..
어찌되었던간에 엠팔,드림위즈,한메일,핫메일,천리안,아웃룩에서 모두 수신확인 가능한것을
확인했으니깐요....

2009/05/26 13:42 2009/05/26 13:42

Trackback Address :: https://youngsam.net/trackback/499