ctsite.cc部落格

Pigeon Post for Gmail:不開 Gmail 也知道哪個帳號有新信

Pigeon Post for Gmail:在 Chrome 工具列顯示每個 Gmail 帳號的未讀數

工作和個人各用一個 Gmail 帳號時,想知道哪裡有新信,常常得開著好幾個 Gmail 分頁輪流看。Pigeon Post for Gmail 是我寫的 Chrome 擴充功能:它在工具列顯示未讀數,並為你在 Chrome 已登入的每個 Gmail 帳號跳出桌面通知。不需另外登入、不需 OAuth,也沒有伺服器。

沿用 Chrome 已登入的 Gmail

Pigeon Post 不會請你再登入一次,也不需要另外授權。只要你在 Chrome 登入過 Gmail,它就會自動偵測每一個帳號,也就是 Gmail 網址裡的 /mail/u/0、/u/1 等等,再帶著瀏覽器既有的 Gmail cookie,讀取 Gmail 提供的未讀信 Atom feed。

所以它不需要 Google Cloud 專案、不必設定 OAuth,也沒有自己的伺服器,所有檢查都在你的瀏覽器裡進行。讀到的未讀信會變成工具列圖示上的數字;設成「通知」的收件夾有新信時,再跳出桌面通知。

Pigeon Post 沿用 Chrome 已登入的 Gmail 帳號,只向 Google 讀取未讀信,再顯示在工具列圖示和桌面通知 你的 Chrome 已登入的 Gmail 帳號 /u/0 個人 /u/1 工作 沿用登入狀態 Pigeon Post 工具列圖示 3/12 桌面通知 Google Gmail 未讀信 Atom feed 只連到 Google 不需要 另外登入 OAuth 伺服器

Pigeon Post 沿用 Chrome 已登入的 Gmail,只向 Google 讀取未讀信,結果顯示在工具列圖示和桌面通知(示意圖)。

哪些信重要,由你決定

不是每封未讀信都需要馬上知道。在設定頁裡,每個收件匣、收件匣分頁(主要、社交網路、促銷內容、最新快訊、論壇)、已加星號、重要、所有未讀,以及你自己的任何標籤,都能各自設成三種層級之一:

  • 「關」:不檢查。
  • 「計數」:算進工具列圖示上的未讀數。
  • 「通知」:計數,並跳出桌面通知。

標籤直接從 Gmail 讀取,用選的就好,不必手動輸入名稱。新偵測到的信箱,預設只把收件匣設為「通知」;如果你用了 Gmail 的收件匣分頁,可以只把「主要」設成通知,避開促銷和社群信的通知。同一封信出現在多個收件夾時,會套用最高的那個設定。

調整時不必猜結果:設定頁會用你真實的信件,即時預覽工具列圖示上的數字和通知的樣子。

收件匣設為通知、已加星號設為計數、家人標籤關閉時,圖示顯示 4,只有收件匣的新信跳出通知 收件匣 未讀 3 關 計數 通知 已加星號 未讀 1 關 計數 通知 家人(標籤) 未讀 2 關 計數 通知 工具列圖示 4 3 + 1 = 4 收件匣+已加星號 家人關閉,不算進來 桌面通知 陳美雅 週六登山還去嗎? 個人|收件匣

以產品頁的例子來說:收件匣設為「通知」、已加星號設為「計數」、「家人」標籤關閉,圖示顯示 3 + 1 = 4,只有收件匣的新信會跳出通知(示意圖)。

多個信箱,一眼分清

每個在 Chrome 登入的 Gmail 帳號,在點開圖示後的清單裡都各自一區,可以個別摺疊。每個信箱都能設定自己的名稱、顏色與音效,看一眼就分得出是哪個信箱,聽通知音效也分得出來。音效有 12 種,全部在瀏覽器裡用 Web Audio 即時合成,其中一種是「鴿子咕咕」。

Pigeon Post 的清單畫面:個人與工作兩個信箱各自列出未讀信

點開工具列圖示後的清單(繁體中文介面、範例資料)。個人與工作兩個信箱各自一區,最上方是各信箱的未讀數。

工具列圖示上的數字,可以顯示所有信箱的加總(例如 15),也可以各信箱分開(例如 3/12)。圖示空間有限,只放得下兩三個信箱的兩位數,放不下時會改顯示加總;把滑鼠移到圖示上,也會逐一列出各信箱的未讀數。

設定會透過 Chrome 同步,跟著你到登入同一個 Chrome 帳號的其他電腦。設定是依 email 而不是登入順序記錄的,所以就算另一台電腦的帳號登入順序不同,也不會套錯信箱。

不開 Gmail 也能處理新信

不管你正在 Chrome 的哪個分頁,都能直接處理新信:

  • 直接在通知上標為已讀,Gmail 裡的這封信也會跟著變成已讀。
  • 在清單裡逐封標為已讀,或確認一次,就把整個信箱的未讀信全部標為已讀。
  • 點信件會在對應的 Gmail 帳號開啟,並沿用已開啟的 Gmail 分頁;也可以改成每次開新分頁。
  • 一次收到多封新信時,可以合併成一則通知,也可以每封各自通知。

重視隱私:資料只在你和 Google 之間

Pigeon Post 只與 Google 連線。讀取未讀信和標為已讀,連的都是 mail.google.com;只有在你選擇以 Google 帳號頭像作為信箱圖示時,才會另外從 Google 的圖片伺服器下載頭像,而且不帶 cookie。它沒有伺服器、沒有分析、沒有廣告、沒有追蹤,也不載入遠端程式碼,任何資料都不會傳給開發者或第三方。

Pigeon Post 只連到 Google,不傳資料給開發者或第三方;未讀信摘要只在記憶體,其餘資料存在這台電腦或 Chrome 同步 Pigeon Post 只連到 Google mail.google.com 未讀摘要、標為已讀 Google 圖片伺服器 只在選擇顯示頭像時 不會傳給 開發者 任何第三方 分析、廣告、追蹤 資料存在哪裡 只在記憶體 未讀信的寄件者、主旨、摘要 這台電腦 已通知的郵件 ID、標籤名稱、頭像 Chrome 同步 帳號 email 與你的設定

Pigeon Post 會連到哪裡、不會傳給誰,以及各種資料存放的位置。記憶體中的資料在關閉 Chrome 時清除。

未讀信的寄件者、主旨和摘要只放在記憶體中,關閉 Chrome 就清除。它只讀取未讀信的摘要,不讀完整內文;除了你要求的標為已讀,不會寄出、刪除或修改任何郵件。移除擴充功能,就會刪除它在這台電腦上儲存的所有資料。

所有程式碼都以 GPL-3.0 授權公開在 GitHub,做了什麼都能自己檢查;權限與資料的完整說明,請看隱私權政策。

一分鐘開始使用

  1. 從 Chrome 線上應用程式商店安裝 Pigeon Post for Gmail,需要 Chrome 120 以上的版本。
  2. 保持登入 Gmail:你在 Chrome 登入的每個 Gmail 帳號都會自動找到。
  3. 安裝後設定頁會立刻開啟,選好哪些要計數、哪些要通知。
  4. Chrome 會把新安裝的擴充功能收在右上角的擴充功能選單(拼圖圖示)裡。打開選單,按下 Pigeon Post for Gmail 旁的圖釘,就能隨時看到未讀數。

介面支援繁體中文、简体中文、English、日本語、한국어、Español、Français 和 Deutsch,共 8 種語言。

從原始碼安裝

整個專案是用純 HTML 與 JavaScript 寫成的 Manifest V3 擴充功能,沒有建置步驟,也沒有任何相依套件。想自己從原始碼載入的話:

git clone https://github.com/tasict/pigeon-post-for-gmail.git
cd pigeon-post-for-gmail
scripts/pack.sh

scripts/pack.sh 會把擴充功能複製到 payload/。接著打開 chrome://extensions,開啟「開發人員模式」,按「載入未封裝項目」並選擇 payload/ 資料夾即可。

使用前要知道的事

  • Gmail 不會主動通知擴充功能,Pigeon Post 只能定時檢查。檢查間隔可以設成 30 秒到 15 分鐘,預設 1 分鐘;間隔越短,通知越即時。
  • 「標為已讀」用的是 Gmail 網頁版自己使用的內部介面,以 GMAIL_AT cookie 作為操作權杖。這個介面沒有公開文件,Gmail 改版時可能失效。
  • 太久沒打開 Gmail 時,這個權杖會過期,Gmail 有時也會要求重新驗證。因此 Pigeon Post 會盡量從該帳號已開啟的 Gmail 分頁送出操作;失敗時,會在背景開啟 Gmail 分頁更新登入狀態、重試一次,幾秒後自動關閉。需要重新驗證時,清單會在該信箱標出提示,並提供開啟驗證頁的按鈕。
  • 「全部標為已讀」每個收件夾一次只能處理最新的 20 封;超過時,可以改在 Gmail 列出這些未讀信,自行全選處理。
  • 標籤清單取自 Gmail 左側選單。子標籤和收在「更多」裡的標籤,要先在 Gmail 展開一次才會出現;找不到時也可以手動輸入名稱。
  • 沒看到通知的話,可以在設定頁按「送出測試通知」,並確認作業系統允許 Chrome 顯示通知、沒有開啟勿擾或專注模式。

相關連結

Pigeon Post 沒有廣告、沒有追蹤,也沒有付費版;如果它幫你省下時間,歡迎請我喝杯珍奶(直接刷卡,不需要 PayPal 帳號),或用 PayPal 贊助。

Gmail 是 Google LLC 的商標。本擴充功能與 Google 無關,也未經 Google 背書。

留言