台灣最大程式設計社群網站
線上人數
873
 
會員總數:246053
討論主題:189637
歡迎您免費加入會員
討論區列表 >> 專欄文章 >> 如何運用 ASP + DB 紀錄 E-Mail 的閱讀次數
[]  
[我要回覆]
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
如何運用 ASP + DB 紀錄 E-Mail 的閱讀次數
價值 : 0 QP  點閱數:1145 回應數:0
樓主

bestlong
中級專家
4291 3
2597 878
發送站內信

捐贈 VP 給 bestlong
常有人會問如何統計 E Mail 的閱讀次數, 一般會運用在電子報.
不過同樣的也可以作為垃圾郵件業者收集合法 Mail 帳號的方法.

我的測試環境如下

1. 讀信軟體為 Outlook Express 6.00.2900.2180 (xpsp_sp2_rtm.040803-2158),
要將 [選項>安全性.病毒防護.下載圖片.阻擋HTML電子郵件中的圖片和其他外部內容] 拿掉勾選.
2. 統計程式用 ASP 撰寫在 XPP SP2 IIS 下執行, 使用 Access Database 儲存紀錄.

Access Database 結構:

建立一個資料表名稱為 t_count 內有兩個欄位
1. id 數字型態, 主索引
2. f_count 數字型態

ASP 程式碼如下:

<%
strDBPath = "C:\Inetpub\wwwroot\"
strDBName = "DB1.mdb"
strConnString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strDBPath & strDBName
set my_Conn = Server.CreateObject("ADODB.Connection")
set rs = Server.CreateObject("ADODB.Recordset")
my_Conn.Open strConnString

if Request.QueryString("show") <> "" then
strSql = "select * from t_count"
rs.open strSql, my_Conn, 1, 3
Response.Write "<table border=1 cellspacing=2>"
Response.Write "<tr>"
for i= 0 to rs.Fields.Count - 1
Response.Write "<th>" & rs(i).Name & "</th>"
Next
Response.Write "</tr>"
Do While Not rs.Eof
Response.Write "<tr>"
for i= 0 to rs.Fields.Count - 1
Response.Write "<td>" & rs(i) & "</td>"
Next
Response.Write "</tr>"
rs.MoveNext
Loop
Response.Write "</table>"
rs.Close
else
if (IsNumeric(Request.QueryString("id")) = True) and (Request.QueryString("id") <> 0) then
strSql = "select * from t_count where id = " & CInt(Request.QueryString("id"))
rs.open strSql, my_Conn, 1, 3
if rs.EOF then
strSql = "insert into t_count(id, f_count)"
strSql = strSql & " values(" & CInt(Request.QueryString("id")) & "1) "
else
strSql = "update t_count "
strSql = strSql & "set t_count.f_count = t_count.f_count + 1 "
strSql = strSql & " where t_count.id = " & CInt(Request.QueryString("id"))
end if
my_Conn.Execute(strSql)
rs.Close
end if
end if

my_Conn.Close
set rs = Nothing
set my_Conn = Nothing
%>

當 id 不存在時就新增, 有存在就將 f_count 加一
看郵件閱讀次數狀況, http://iis_server/count_1.asp?show=1

在寄送 E Mail 時用 HTML 格式, 內容為

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=big5">
<META content="MSHTML 6.00.2900.2802" name=GENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY>
<IMG src="http://iis_server/count_1.asp?id=1">
其他郵件內容
</BODY></HTML>

重點在 <IMG src="http://iis_server/count_1.asp?id=1"> 這一行
因為會去 Server 讀取圖片, 該 ASP 會對 id=1 做累計紀錄
想要紀錄 id=2 的閱讀次數,就改成 <IMG src="http://iis_server/count_1.asp?id=2"> 即可

也可以用 CSS 檔, 或 JavaScript 檔來達到目的.

最後要談到, 為了顧及資訊安全保護個人隱私, 讀信軟體都會逐漸加強防護,
也就是說此類的收集資訊的方法, 都會變成預設阻擋.

就我個人的想法, 以這樣的收集資料的方式是不具意義的.
應該是要取得有意義的點閱率, 也就是要在郵件內容的文案上下功夫.
讓有興趣的人點選連結後引導到相關網站去做進一步了解並做紀錄.

特別是當這些點閱的紀錄是要提供給客戶分析, 或是作為收費標準的一部份, 這樣才具公信力.
搜尋相關Tags的文章: [ ASP ] , [ Mail ] , [ 統計 ] , [ 閱讀 ] ,
本篇文章發表於2006-01-25 15:58
== 簽名檔 ==
http://www.bestlong.idv.tw
http://blog.bestlong.idv.tw
目前尚無任何回覆
   

回覆
如要回應,請先登入.