回答
要做到這一點,唯一的方法是使用帶有跟蹤圖片的html電子郵件。您需要在代碼中包含用戶特定的圖像。
class TrackingController < ApplicationController
def image
# do something with params[:id]
send_file "/path/to/an/image"
end
end
添加以下路由:
# Rails 2
map.tracking_image "tracking_image/:id.gif", :controller => 'tracking', :action => image
# Rails 3
match 'products/:id', :to => 'tracking#image', :as => "tracking_image"
# Rails 4 (match without verb is deprecated)
get 'producsts/:id' => 'tracking#image', as: 'tracking_image'
# or
match 'producsts/:id' => 'tracking#image', as: 'tracking_image', via: :get
在你的郵件模板是這樣的:
<%= image_tag tracking_image_url(@user.id) %>
但要知道,這是不是保證用戶可以讀取電子郵件,加載圖像,一些電子郵件客戶端不會加載圖像,直到用戶想要。如果他不這樣做,你不能對此做任何事情。此外,如果用戶只使用文本郵件,這也不會工作。
在瀏覽器中渲染圖像---- send_file「/path/to/an/image.gif」,:type =>'image/gif',:disposition =>'inline'---- send_file「/ path /to/an/image.jpg「,:type =>'image/jpeg',:disposition =>'inline' – SyntaxGoonoo 2011-09-27 22:43:06
技術觀點 - 這個答案解決了我的問題。是的 - 我完全同意@Doon – 2012-02-21 23:53:53
簡短的回答,你不能。稍長的答案你不能可靠。
使用類似VERP的東西,您可以自動執行反彈處理,以便在遠端郵件服務器接受電子郵件時獲得相當好的想法。但在此之後,所有投注都關閉。你不能真正知道電子郵件服務器用它做了什麼,(將它路由到垃圾郵件文件夾,放入收件箱,靜靜地放在地板上/桶桶等等。)。您可以在您的電子郵件中啓用「回執」標題,但這是客戶特定的(像我這樣的人吃飯/否認他們)。您可以考慮使用網絡錯誤,例如使用HTML文件自定義每封電子郵件,這會拉出遠程圖像,該圖像具有與其關聯的唯一ID,但是又是客戶端特定的,大多數都不會加載遠程圖像。因此,除非電子郵件反彈,否則沒有100%可靠的方式來說明電子郵件在離開服務器後會發生什麼。
是的 - 我完全同意你的看法。 – 2012-02-21 23:54:18
我不是很熟悉ruby,但已經寫了多個大量郵件程序。你可以使用一個webbug圖像來獲得一個近似的開放費率。基本上它只是一個像素或透明的圖片與一些跟蹤信息:
<img src="http://mysite/trackingimage.gif?email=x&customer=y">
我要做的就是創建一個名爲trackingimage.gif目錄在它的索引讀取和存儲網址參數,然後搬遷到了真實圖像。
- 1. 軌道,如何知道何時發送一封電子郵件,在DEF CREATE
- 2. 導軌發送多封電子郵件?
- 3. 在通知電子郵件
- 4. 電子郵件驗證爲大學電子郵件軌道
- 5. Oxwall - 電子郵件通知
- 6. uploadify電子郵件通知
- 7. BizForm電子郵件通知
- 8. PayPal電子郵件通知
- 9. TeamCity電子郵件通知
- 10. TFS電子郵件通知
- 11. 電子郵件通知
- 12. cruisecontrol電子郵件通知
- 13. 電子郵件通知
- 14. Jenkins - 電子郵件通知
- 15. Git電子郵件通知
- 16. TFS電子郵件通知
- 17. 電子郵件通知
- 18. 電子郵件通知
- 19. Rails上的電子郵件通知
- 20. 與每封電子郵件
- 21. 多封電子郵件
- 22. 收集電子郵件在軌道上的靜態頁面
- 23. 電子郵件紅寶石不發送在軌道上
- 24. 通過管道電子郵件保存電子郵件附件
- 25. bash多封電子郵件
- 26. Php重複的電子郵件和電子郵件通知
- 27. 用附件發送電子郵件到多封電子郵件
- 28. 在java中的電子郵件通知
- 29. ClearCase:發送電子郵件通知
- 30. ASP MVC3,電子郵件通知服務
Doon的答案是透徹和準確的。我發現這些要求通常來自於只看到電子郵件的「郵件」部分的利益相關者,並堅持在郵件中應用請簽字的蝸牛郵件傳遞保證。我認爲你最好與客戶交談並向他們解釋限制。 – Mhmmd 2010-08-19 19:05:17
問題不在於想知道它是否已打開,問題是否與「是否」。 將傳統的網絡bug添加到HTML電子郵件中可以告訴您電子郵件是否已打開。它可能已經被打開,你不知道它,但它不太可能說錯誤會說它被打開時,它不是。 雖然不夠準確,但它仍然是一個很好的措施。尤其是當想比較一個活動的成功與另一個活動的成功。 – 2012-02-17 02:35:51