Android 上的電子郵件混淆器完全在您的行動瀏覽器中執行,將公開的電子郵件地址轉換為 HTML 錨點,其可見文字與 mailto 目標皆使用十進位數字字元參考,而非字面字母。由於轉換過程在本地完成——無需安裝應用程式、無需上傳、無需帳號——您可以直接從同一台裝置將產生的程式碼貼到 CMS、靜態網站範本或 HTML 草稿中。瀏覽器在渲染頁面時會解碼這些實體,因此訪客看到並點擊的是正常地址,而僅在原始碼中比對純 ASCII 模式的基本爬蟲則會錯過它。這與您在桌機上會進行的相同工作流程,只是縮小到手機或平板的規模。以下內容說明 電子郵件地址混淆器 的產出、如何在 Android 上產生,以及當您的 CMS 負責發佈最終 HTML 時,需要注意的驗證步驟。

email obfuscator on android
Android 上的電子郵件混淆器:行動瀏覽器工作流程

錨點的建構方式

電子郵件地址混淆器會修剪輸入內容、驗證實際可用的未加引號地址格式,並輸出一個 HTML <a> 元素。可見文字與 mailto: 目標中的每個字碼點都會以十進位數字 HTML 字元參考的形式呈現。對於小寫的 "a",參考為 a;對於 @ 符號,參考為 @;對於句點,參考為 .。可見地址會在渲染時從這些參考重組而成,因此錨點無需 JavaScript 即可在任何現代瀏覽器中保持可點擊。

十進位數字格式遵循 WHATWG HTML 字元參考 規範,因此每個現代瀏覽器都會從同一參考渲染出相同的字母。處理過程保持在瀏覽器分頁中,地址不會離開裝置,且輸出內容不含任何字面地址字元——只有位於單一錨點元素內的實體編碼文字,您可以將其放入靜態頁面、部落格文章範本或 CMS 中的自訂 HTML 區塊。

在 Android 上產生錨點

在桌機上有效的相同操作流程,只需針對複製貼上和原始碼模式編輯進行幾項行動裝置調整,即可適用於手機或平板。

  1. 開啟您的 Android 瀏覽器並前往電子郵件地址混淆器。點選輸入欄位並輸入您想在頁面上顯示的公開地址——例如小型商業網站上的聯絡地址。
  2. 點選產生動作並檢視渲染後的錨點。確認驗器已接受該地址:本機部分不得為空,不得包含前置、尾隨或連續的句點,且網域必須包含多個以句點分隔的標籤。若頁面拒絕該輸入,問題幾乎總是出在多餘的空格、拼字錯誤或單一標籤的主機。
  3. 長按產生的程式碼區塊並複製完整的錨點。切換到您的 CMS 或靜態網站編輯器,將其貼到 HTML 原始碼檢視中,而非所見即所得欄位。在 Android 上,這通常表示在 WordPress、Ghost、Wix 或類似建置器中以「程式碼編輯器」、「HTML」或「自訂 HTML」模式開啟文章。
  4. 儲存或發佈後,在新分頁中開啟線上頁面。點選一次可見的地址以確認您的郵件用戶端收到預定的收件者,並檢視頁面原始碼以確認實體未被改寫。

需要注意的 Android 專屬調整

在手機上編輯 HTML 會產生筆電上不易察覺的摩擦。以下幾個習慣可避免最常見的問題:

  • 使用對程式碼友善的鍵盤。Gboard 的「Code」鍵盤配置或 Samsung Keyboard 的符號面板可讓您更快速地存取 &、# 和分號,這三者組合即可構成每個數字實體。
  • 僅貼到 HTML 或原始碼模式的欄位中。許多 CMS 應用程式中的 Android 所見即所得編輯器,會在您離開欄位的瞬間把貼上的實體轉換回字面字元,從而破壞混淆效果。
  • 使用 Android 的分割畫面或應用程式配對功能,同時保持頁面分頁與編輯器分頁開啟,以便在 CMS 移除實體時重新複製片段而不必重新輸入。
  • 若您的 CMS 提供預覽功能,請在發佈前先檢查。許多預覽會經過與儲存時相同的所見即所得管道,這會將實體攤平。

行動瀏覽器不提供桌機風格的「Inspect」面板,因此原始碼驗證通常意謂著在 Android 的 Chrome 中開啟線上 URL、從三點選單啟用「電腦版網站」,並透過已配對電腦的遠端 Chrome DevTools 工作階段來檢視原始碼。更簡單的做法是將片段以電子郵件寄給自己,並在發佈前先在桌機上檢視。

驗器會接受與不會接受的內容

嚴格的驗器是刻意的設計。它接受一個實際可用的未加引號本機部分加上正規化的公開網域,拒絕 IPv4 字面和單一標籤主機,並拒絕加引號的本機部分、註解、網域字面及不常見的舊式格式。本機部分保留其原始大小寫和支援的標點符號;網域則會轉為小寫並通過瀏覽器 URL 主機解析器,使國際化網域序列化為其 ASCII 相容形式。

輸入是否接受?原因
[email protected]是標準未加引號本機部分,多標籤網域
[email protected]是支援的標點符號及加號地址
info@bücher.example是(已正規化)國際化網域序列化為 ASCII 相容形式
user@localhost否單一標籤主機遭拒
user@[192.168.0.1]否不支援的子集中的網域字面
[email protected]否本機部分中的連續句點遭拒
"quoted local"@example.com否不支援的子集中的加引號本機部分

這些規則避免了展示一個過於寬鬆的驗器,以致靜默地接受您的 CMS 或聯絡表單稍後會拒絕的信箱語法。驗器不會測試該信箱是否存在或能否接收郵件。

驗證已發佈的頁面,而非您複製的片段

在 Android 上最常見的失敗不是產生步驟,而是貼上與發佈之間的那個瞬間。一個在儲存前將 a 解碼回 a 的 CMS,已經移除了唯一的混淆層。一個會跳脫 & 符號使片段在線上原始碼中顯示為 &#97; 的 CMS,會在畫面上顯示字面文字 "a",而非字母 "a"。

在您的 Android 瀏覽器中開啟已發佈的 URL,點選該地址一次,並確認郵件用戶端以正確的收件者開啟。然後檢視頁面原始碼——透過 Chrome 的電腦版模式、遠端 DevTools 工作階段或「檢視原始碼」書籤——並確認錨點仍包含 &# 序列。若線上原始碼顯示為純字母,則混淆效果已消失,您將需要設定您的 CMS 以保留實體,或透過繞過所見即所得管道的自訂 HTML 區塊注入該片段。

您應預先考量的限制

這項技術是混淆,不是安全性。現代爬蟲會解析 HTML、解碼數字實體、檢查 DOM 並沿著 mailto 連結前進。公開渲染的地址對於訪客及任何會渲染 JavaScript 或模擬瀏覽器的機器人而言,仍是可發現的。該工具並未承諾能減少垃圾郵件,也絕不應被視為存取控制或隱私保護。

請勿嵌入機密地址、憑證或私人別名。一旦訪客點擊、複製連結或檢查渲染後的 DOM,mailto 連結就會暴露其目標。如需有意義的抗濫用能力,請將混淆器與實際的防禦措施搭配使用:

  • 伺服器端聯絡表單,具備輸入驗證、速率限制,以及 CAPTCHA 或等效的垃圾郵件控制。
  • 可拋棄的角色地址(例如 info@ 或專屬的 contact@),您可以在不變更個人帳號的情況下輪替。
  • 郵件匣提供者針對已知垃圾郵件模式所設的過濾規則。

這些措施彼此並不能互相替代。混淆器提供輕度的原始碼層級隱蔽性;聯絡表單和角色地址提供作業上的隔離;過濾規則提供持續的清理。

何時應完全跳過混淆器

若該地址是您每日查看的個人收件匣、主要支援管道,或任何無論如何都必須保持可聯繫的項目,請跳過混淆器並發佈字面的 mailto 連結。嚴格的驗器同時也是一個信號,表明該工具並非適用於所有舊式信箱語法的通用編碼器——若您的地址包含加引號的本機部分、網域字面或單一標籤主機,您將需要簡化該地址,或接受混淆器不適用於該特定情況。

對於其他情況——小型商業聯絡資訊、部門別名、您樂意在垃圾郵件增多時輪替的地址——在 Android 瀏覽器上產生錨點並將其貼到 HTML 原始碼欄位中,是一個簡短且零成本的工作流程,既能保持地址對人類的可讀性,又能降低其對最簡單爬蟲的可見度。

如需深入了解,請參閱在 iPhone 上使用 Nginx 設定產生器:行動工作流程。

如需深入了解,請參閱Android 上的結構化資料標記產生器:在手機上建置 JSON-LD。