[ASP.net MVC 4][小技巧] 如何得知用戶有沒有開啟該封Email

[ASP.net MVC 4][小技巧] 如何得知用戶有沒有開啟該封Email

如果網站寄了一封廣告信,怎麼知道收信者有沒有打開那封Email呢?

 

可以透過郵件內容下手腳,讓Email內容可以和Server端程式溝通

該注意的是

一般在郵件內容埋<script>使用Ajax或<iframe>標籤,會被郵件軟體給刪除標籤

上網查了一下,那是因為大多數的郵件軟體為了安全性考量,只能呈現基本的Html

所以折衷辦法,改使用<img>就行了~

 

 

 

實作

1.<img>的src屬性要指到ASP.net網站,src須要是Http開頭的URL絕對路徑(不是Url.Action() ),而且只能接受HttpGet Mehod

2.為了避免用戶打開信件看到叉燒圖,所以要再對該<img>包上style=”display:none”的<span>隱藏它

3.ASP.net MVC端,就新增一個Action,<img>的src路徑指到此Acton,此Action就寫上要對DB的操作即可

寄信範例Code。※詳細寄信的程式碼請參考此篇文章:[ASP.net] 完整的Mail寄信功能 懶人Code分享

image