實現郵箱的已讀回執

Reiser實驗室發表於2018-12-13

今天看到郵件客戶端有一個很有趣的功能,叫「已讀回執」。在辦公場景下還是相當貼心的小細節。這個功能預設郵件協議是沒有的,是開發者自己加上的。

實現郵箱的已讀回執

我實現了一種可行的技術方案:

1.技術原理:使用 <img/>

需要在使用者載入郵件時,呼叫後臺的一個介面,以統計已讀,呼叫一次則標記為收件人已讀。統計的郵件需要id,建議是:郵件型別+郵件自身id。呼叫介面一般回選用 js 方法,但很多郵箱客戶端處於安全考慮,遮蔽了 js 方法。那就在郵件中嵌入一個看不見的 <img> 標籤載入統計地址,以實現統計的目的。

2.注意細節

要做到完全隱藏 <img> 要注意 alt 和 style,需要這樣配置:

<img src="..." alt="" style="display: inline-block;width: 0;height: 0"/>
複製程式碼

3.方案弊端

但該方案並不完美,目前已知的可能導致統計不精準的場景有:

  • 如果你的郵件被標記為垃圾郵件,某些客戶端會阻止 img 的載入。
  • 如果使用者在未看的情況下直接轉發,統計資料也不真實。

相關文章