2013-01-22 56 views
1

TL; DR如何根據請求的UA字符串推斷使用哪個Web電子郵件客戶端?基於用戶代理的推斷的Web電子郵件應用程序


最近我遇到了一個有趣的問題。我解析用戶代理字符串以獲取操作系統和瀏覽器|移動設備|等。所以這不是解析用戶代理的問題。

我的問題是,你如何推斷​​什麼網絡電子郵件應用程序已被用來打開電子郵件?

要啓動這裏是一些數據:

Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17 

Browser: Chrome 
OS: Windows 7 

這個被送往的電子郵件地址爲[email protected],我從訪問Gmail應用。

UA字符串將用於Chrome。我意識到我不能假定電子郵件應用程序使用的電子郵件地址是@gmail.com是Gmail。

如果在移動設備或桌面平臺上讀取電子郵件,因爲它們的UA字符串不同,就很容易得到它。即使您在Outlook 2010上收到@gmail.com電子郵件,但電子郵件客戶端仍將是Outlook 2010,因爲它具有自己的UA字符串。

這只是我做的一些背景和一些假設。

編輯:所以我看過HERE,這實際上可以做到。舉辦你的跟蹤圖像HTTPS

回答

1

我不認爲你能夠知道電子郵件客戶端只是檢查UA。正如你所說,有時你可以(例如「前景」),但並非總是如此。

也許你可以檢查「referer」以查看發送請求的位置。

+0

有趣的是referrer是一個非常好的答案,雖然有一些限制,但是在普通的http://協議中,referrer對請求跟蹤圖像是隱藏的,但是當協議在圖像上安全時,https: //然後推薦者顯示得非常好。謝謝 –

0

我懷疑UA頭是否足以作出一個可靠的猜測,哪些軟件用於創建電子郵件消息。除此之外,消息可能在兩者之間被改變,有些客戶沒有指定有意義的UA頭。

我想你可以在考慮消息的更多細節時獲得更可靠的結果。你必須生成一些像指紋一樣的東西。因此,一些基於規則/測試的框架可能是有意義的,測試某些解決方案的典型細節。詳細信息如多部分消息的正式結構,標題條目的順序等。

相關問題