看到 AdGuard 也加入免費拋棄式信箱的戰局,要阻擋的名單地址又多了一個…

拋棄式信箱是幹嘛用的? 設想一下以下系統會碰到的情境:

  • 網站發送優惠券,限量100組,碰到有人用一堆 email 洗了一堆優惠券序號,那種需要先註冊會員,每個會員不同序號的。在中國用語叫…薅羊毛? 有增加訂單就算了,重點是序號搶了又不買?
  • 網站有新註冊會員的優惠,可能是新會員優惠券,可能是設計一堆什麼某某商品每個會員只能買一次之類的購買車機制,碰到有人用一堆 email 洗了一堆優惠商品,然後另外轉售。
  • 舉辦登記抽獎、線上投票,只要填 email,收個信箱驗證信就能參加,沒有紀錄其他敏感個資,碰到有人用一堆免洗 email 來登記。
  • 用輸入 email 可以下載某某免費素材、下載試用版之類的,拿這個去投廣告,用來蒐集名單,那蒐集到不能用的 email 能算有轉換次數嗎? 牽涉廣告成效和獎金,大家吵得不可開交。

當然有時候可以事前預防,或是事後再想辦法處理。
但現實可能是碰到問題再甩鍋給員工或基層執行人員,或是邪惡的商人先低價搶案,後面再藉機無限追加預算。

本文探討
– 使用者可能會用哪些方式生成一堆 email 地址,介紹一些常見的免洗信箱/拋棄式信箱
– 在開發網頁表單驗證程式時,可以整合一些外部服務,盡量降低無效 email 進入系統的機會。

關於使用者產生一堆 email 地址,以下舉例的是:
– 用現有的一組信箱直接創造多個 email 地址,一樣能正常收到信。
– 很快就能生成一組地址,收到信之後就把信箱刪掉。

用郵件服務商(msp)的信箱別名(email alias)功能產生一堆額外的收件地址

就是一種在電子郵件信箱裡加入數個名稱的作法,以下列舉兩個:

Outlook (Hotmail)

右上角齒輪>郵件>同步電子郵件>電子郵件別名>管理會選擇別名,會跳到另一個網站,可以設定結尾是 @outlook.com 的別名地址。
官方說明參考: Add or remove an email alias in Outlook.com

如此一來,看似有好幾個結尾是 @outlook 的信箱,但背後其實都是同一個 @hotmailc.om 或其他信箱的人在收信。
難道系統要禁止 @outlook 的人來註冊嗎? 不可能嘛。

Gmail

可以用 + 當成別名,官方說明參考 使用您的 Gmail 別名篩選郵件
用 test+momo@gmail.com
test+yahoo@gmail.com
test+shopee@gmail.com
完全都能正常收信,都會寄到 test@gmail.com 信箱去。

以使用者角度來說,有些山西達人會這樣教,要在網路上留 email 的時候就在後面多打個加號和一些關鍵字,日後要是收到奇怪的廣告信,可以一眼看出自己的 email 是從哪裡被賣掉的。
但如果是本文一開始的情境,
對系統來說…這些都是不同 email 啊?
於是現在有些網路服務,則是一勞永逸, 直接禁止在 email 欄位輸入 + 符號

花幾百塊買個網域/使用手上閒置的網域,找一些企業信箱服務/主機服務附的信箱/某種轉信服務,一直新開帳號,用完再刪掉?
類似 email alias / email forward 的手法舉都舉不完。

用隱私中轉收信服務(private relay)產生一堆額外的收件地址

有不少私人郵件中轉服務,使用者註冊後,可以服務上面產生匿名的 email 位址,
碰到需要留 email 的地方,就可以填上這些匿名的 email 位址,如果有收到信,這些服務會再把郵件寄給使用者真正的 email 位址。

那種廠商寄廣告通知信忘記設密件副本…自己的 email 出現在百人收件人名單中,或是一些企業集團間的共同行銷計畫,利用 email 來比對到不同產品的使用者資料。
使用這種如同影分身的 email,可以有效地替換真實的電子郵件位址,如果電子郵件位址被濫用或洩漏時可以降低傷害。

這類隱私中轉收信系統功能當然不只這樣,
通常還可以自動過濾廣告郵件和潛在的網路釣魚郵件,或是移除郵件內的開信追蹤器,最後再把乾淨的郵件寄給使用者,
如果覺得收到太多廣告信,也可以直接把那個地址刪掉。

DuckDuckGo Email Protection

DuckDuckGo 的服務要做的就是三件事:
隱私!
隱私!
還是隱私!
像是有號稱不會追蹤的搜尋引擎、網頁瀏覽器等等,主打各種數位隱私,堪稱當代清流。

免費的隱私保護郵件服務也是他的功能之一,
碰到要填 email 的地方,
都能用 Private Duck Address Generator 生成一組「隨機字串@duck.com」的 email。(如下圖)

申請也很簡單,只需要需要安裝它的瀏覽器,或瀏覽器擴充套件,
然後收個信證明你的 email 是能收到信的,完全不需要 KYC 或是填一堆姓名生日國家住址寵物的名字之類的資料。

Firefox Relay

Firefox Relay 就是 Firefox 瀏覽器的那間公司做的,在 2021 年推出,個人免費版可以產生 5 組虛擬地址,Firefox Relay 會將收到的郵件轉寄到實際信箱。使用者使用這些虛擬別名信箱,那些臭商人就無法知道我的實際信箱,但還是能夠收到郵件。(除非每封郵件的連結帶一個不同的專屬序號,然後我點了那個連結進行一些填寫個資的操作…)

Firefox Relay 還有 Premium 付費版,可以設定更多組信箱地址、自訂網域、封鎖行銷郵件、甚至連手機門號也可以產生虛擬分身

Firefox 瀏覽器雖然市佔屢創新低,但母公司 Mozilla 沒倒、就靠這些 VPN 軟體、Firefox Relay 虛擬郵件地址服務、書籤服務(Pocket) 等等,還有收 Google 的錢,讓 Firefox 瀏覽器的預設搜尋引擎是 Google,營收仍大賺幾億美元!
有興趣的可以參考 State of Mozilla21-22或是一些媒體報導。

Apple iCloud+ 的隱藏電子郵件

iCloud+ 隱藏我的電子郵件信箱,iCloud+ 是蘋果要付月費的服務,之前有另一篇介紹過 iCloud+ 裡面的私密轉送(Private Relay)服務,隱藏電子郵件(Hide My Email)也是 iCloud+ 的功能項目之一。

如下圖,在手機碰到網頁要輸入 email 時,

彈出的小鍵盤會有一個「隱藏電子郵件」的按鈕,點了之後就會跳到那個畫面。
然後會自動產生一組 @icloud.com 的信箱。

這不需要一定是蘋果的 iCloud Mail 才能用,就算是 @gmail.com 的地址也可以藏。
那要怎麼防禦? 跟 @outlook.com 一樣,一般人直接到 iCloud Mail 申請帳號,結尾一樣也是 @icloud.com…

Yahoo Mail Plus

如果是 Yahoo Mail Plus 的付費版用戶,可以使用 Temporary email addresses,一個人可以建立 500 組,
但台灣的 Yahoo Mail Pro 沒看到這功能。

用拋棄式信箱(disposable email)產生一堆臨時收件地址

上網搜尋 10 Minutes Mail 就可以找到一大堆這種免洗信箱服務,特色通常有:
– 提供一個臨時地址,與檢視郵件的網頁介面,過了一段時間就失效。
– 不用像上兩段介紹的,需要認證或付費什麼的,這種服務並不會寄信到使用者本來的信箱。
– 通常號稱信箱地址都是隨機產生的,已經使用的信箱不會再被使用,避免撞名收到別人的信。
– 有的還會號稱定期更換新的域名,以免因為郵件域名被封鎖。

最近推出的 AdGuard 匿名信箱就屬於此類,
並標榜每封電子郵件會在 24 小時後刪除,
信箱地址在關閉此頁面後 7 天內有效。

如果使用者只是為了刷一些優惠券、衝投票數什麼的,填一個交差用的 email 地址,這種免洗信箱完全是夠用的。
但如果有人要拿這種臨時信箱用來參加抽獎活動,等到開獎時,信箱地址早已失效了,沒辦法收到通知或是回信,就比較不適合。
這就牽涉活動流程怎麼設計,跟系統無關。

拋棄式信箱何其多,還可以自己架

上述這些拋棄式信箱服務會不會偷看郵件,沒有人可以保證,
對於拋棄式信箱的隱私性有疑慮的,網路上還有一些開源方案,可以自己蓋一套。
GO-Guerrilla 這是一套設計用來接收大量郵件的 mail server 程式。
Temporary email service build with Cloudflare email worker 相關做法原理的有 Email OnceMinimalist temporary EmailSmail

這幾個線上服務可以檢查 email 是否為拋棄式信箱

魔高一尺,道高一丈,世界上也有不少服務,專門用來檢查使用者輸入的 email,是否為這種拋棄式信箱。
但各家都無法保證可以 100% 完整絕對偵測出所有拋棄式信箱的地址。

對於 @mozmail.com, @duck.com 這種隱私中轉服務或是 @proton.me 這種,檢測時通常都會判定成正常的地址,並不會出現拋棄式信箱的警告。如果要阻擋的話要再自己寫。
這些服務不會寄信到使用者的 email 去,不是那種寄驗證信的功能。

以下介紹幾個:

Mailgun email validation

Mailgun email validation

這工具在之前的文章 還在用正則式驗證 Email 欄位資料是否正確嗎? 有出現過,當時偏 UX 層面,用來檢查 email 是否打錯字,提供修正建議。

在本文的用途中,除了檢查 email 是不是有打錯字或亂輸入,它也可以用來偵測一些對於行銷用途來說是無效的信箱,如 disposable email(拋棄式郵件), role-based addresses(那種 info@yourbusiness.com, support@yourbusiness.com 之類的企業多人共用信箱),這種無效地址多了,開信率跟投遞失敗率肯定又更難看了。

這服務基本上是付費的,
被包在 Mailgun Optimize 方案中,跟發送郵件用的 Mailgun Send 是拆開的。
第一個月免費試用期有 2,500 次 email address 驗證額度。
每個月 $99 美金起,有 5,000 次 email 地址的驗證額度,用完之後要加購則是每 100 次 0.8 美金。

disposable-email-domains

GitHub 專案: List of disposable email domains

這是一個開源的專案,貢獻者有 100 多位,資料來源是仰賴大家提交 PR 到它的名單中,
採用 CC 授權,有需要的人可以下載它的名單檔案,整合到自己的程式裡。

但是目前看它最後一次更新,已經是 3 個月前了,
隨便在搜尋引擎找幾個 10 mins email 產生的 email 域名,也都沒有在黑名單上。
最近新出的 AdGuard 匿名信箱當然也沒有在名單上。

其實上 npm 搜 temporary email 還可以找到一大票類似的,可能又是用一個不知道幾年沒更新的名單,
想要不花半毛錢來減少無效 email,可能容易有漏網之魚。

Mailveri

Mailveri

這也是一個檢查郵件地址的服務,可以從網頁上傳名單,也可以申請 API。
提供一些檢測結果類型
– VALID
– INVALID((信箱可能不存在)
– DISPOSABLE(拋棄式信箱)
– ROLE_ACCOUNT
– CATCH_ALL(地址可能不存在或是會自動轉寄)
– FULL_INBOX(信箱滿了無法投遞)

販賣的方案是購買點數,每驗證一次 email 會消耗一點。

一開始它也是驗證不出 AdGuard 匿名帳號的 @secretmail.net,
於是寄信去詢問客服,客服很快就回信,隔天就能成功識別出來了。

Mailveri 最特別的是還有一套 Gmail 驗證方案,
可以檢查是否為 Gmail 太久沒登入的閒置帳號。
這跟本文主題(避免有人隨便註冊洗帳號)比較無關,
而是跟 2024/2 之後要實施的大量郵件寄送政策(電子郵件寄件者指南)有關係,
而且要跟另一個 閒置 Google 帳戶政策 一起看,
傳統拿到名單就一直狂發,不去關注寄送失敗、網域被回報為垃圾郵件,甚至收件人 Gmail 信箱因為閒置被砍掉的,都非常容易讓電子郵件可能會無法正常傳送,也可能遭標示為垃圾郵件。

IsTempMail

IsTempMail

產品名稱顯而易見,很工程師風格的 boolean 型別命名邏輯,
主要是提供 API 供人呼叫,需要付費使用。
免費試用 200 次呼叫,試用期間一個月。
提供 blocked、okay、unresolvable 三種檢測結果。

還有出 WordPress 套件Block Temporary Email

資料還滿新的,可以成功驗證 AdGuard 匿名帳號的 @secretmail.net。
但這間有一個獨特的機制,
如果有新的拋棄式信箱域名出現,
網站管理員發現有漏網之魚,也可以不用等廠商更新黑名單域名,
IsTempMail 有一個後台,網站管理員可以查看哪些哪些域名各被查詢幾次,手動將該域名設定白名單或黑名單,
或是直接從後台將域名回報給 IsTempMail,非常方便。

總結摘要

業主可能想要降低系統中的無效 email 或是洗優惠洗票數的情況,如果只有單單從 email 地址下手,
使用者可能用以下方式,產生一堆額外的收件地址:
– 用一些郵件服務商的信箱別名功能。
– 使用隱私中轉收信服務。
– 使用拋棄式信箱(disposable email)服務。

網站可以購買一些檢測拋棄式信箱的 API 服務或名單,整合進現有的程式中。
例如:
– Mailgun email validation (付費服務)
– List of disposable email domains (開源的名單)
Mailveri (付費服務)
– IsTempMail (付費服務)

隱私中轉收信的使用心得

去年跟前年實際用過幾個月隱私中轉收信服務之後,
發現有些用途其實不是很好用。

例如想要少收到一點廣告信,把網站上的聯絡資訊換成這種隱私中轉信箱?
這種服務通常只能收信,
如果要回信,自己本來的 email 還是會跑出來。

如果碰到要回信的使用情境,
因為系統轉來的信上面通常會有隱私中轉郵件服務的 logo,還有一些「已檢查安全」「已移除 XX 個追蹤器」的文字,可能有點像某些防毒軟體會在 outlook 寄出的信亂加簽名檔的那種感覺。
對方會覺得為什麼回信的人換了另一個 email 地址?
郵件裡面還有一些奇怪的文字?
搞得我還要特地解釋這是什麼服務。
甚至隔一段時間又再發一封給網頁上的 email,以為我沒回信?

如果是當成電子報用途,有些地方比較有在盯電子報數據,
因為追蹤器可能會被移掉,容易被當成沒開信,然後被移出訂閱名單
為了能收到有價值的信,有時候還是乖乖使用正常的 email。

但要注意檢測服務沒辦法保證完全滴水不漏,
有的檢測服務不一定會把隱私中轉收信服務視為無效 email,
這些都需要自己另外再處理,或設計其他的檢查方式。