Sieve 郵件篩選器基本介紹¶
Sieve 篩選器是在我們的郵件伺服器上執行的,而不是在您的電子郵件應用程式中執行。
Sieve 篩選器的優點¶
與在客戶端軟體 (例如 Thunderbird 或 Outlook) 設定篩選條件不同,Sieve 篩選器是在伺服器端運作,所以不論您是用軟體或是 WebMail 介面,所有篩選條件都會生效,例如:若是您在公司的電腦使用 Outlook 而在家使用 SOGo WebMail 兩種不同的軟體,篩選條件會同時生效。
您的 GandiMail 已經支援 Sieve 篩選器,因此您不需要對網域名稱操作任何設定。
開始使用 Sieve 篩選器¶
Sieve 是以檔案的方式儲存在郵件伺服器端,內容包含您所建立的所有規則;當您要管理規則時,您需要安裝第三方應用程式來編輯此檔案。
步驟一:選擇 Sieve 應用程式¶
Sieve 篩選器由 Sieve 語言撰寫,有些應用程式可以讓您從頭開始撰寫規則,另外,還有一些應用程式有提供使用者編輯介面,如此一來,您就不須自己撰寫程式碼;這兩種類型的應用程式都是相同的,唯一的差別在於是否提供圖形介面。進階的使用者可能會偏好自己撰寫規則,初學者比較適合圖形介面。
對於「不想自己撰寫程式碼」的使用者,可以直接使用我們的 SOGo 或 Roundcube Webmail 服務 。在我們的 Webmail 上建立的規則就跟 Sieve 篩選器一樣好用,可以適用於所有客戶端軟體。Gandi 的 SOGo 與 Roundcube 服務目前尚未支援 Sieve 所撰寫的規則,因此必須使用內建的編輯器。
對於「想要使用 Sieve 篩選器」的使用者,建議使用 Thomas Schmide 所開發的 Sieve 編輯器 ,或是您可以從 Sieve.info 上找到其他應用程式。
步驟二:連結您的 Sieve 應用程式與電子信箱帳號¶
一旦選好了您的 Sieve 應用程式後,首先您需要連結 Sieve 到您的信箱帳號。如果您在已經使用的郵件軟體 (像是 Thunderbird、SOGo 或 Roundcube) 中啟用 Sieve,則會自動連結到您的帳號。
如果需要手動設定,以下為您所需要的設定值:
主機 (Host):mail.gandi.net
連接埠 (Port):4190
登入名稱 (Login):請填入您 完整 的電子信箱位址 (例如:yourname@example.com)
密碼 (Password):請輸入您電子信箱的密碼
步驟三:建立篩選器¶
有些 Sieve 編輯器,像是 SOGo 與 Roundcube,可以讓您使用內建的圖形介面編輯器來建立規則,這表示您可以透過下拉式選單等工具來協助您建立篩選器,並且您也可在建立過程中查看提示。
而使用 Sieve 的程式碼編輯器,就必須手動建立規則,這種方式比較適合進階使用者或是需要建立高複雜度的篩選器之使用者。若您想要瞭解如何使用撰寫程式碼的方式建立篩選器,請參考我們的 撰寫 Sieve 程式碼教學 。
篩選 Gandi 信件的標頭過濾垃圾郵件¶
每個信件都由兩個部份組成:正文與標頭。正文就是您看到的信件內容,標頭則是包含了一些訊息,像是寄件人、伺服器的位址、寄件的時間等等。某些郵件伺服器會在分析郵件後,在標頭中加註額外資訊,例如 Gandi 的郵件伺服器會在分析郵件的內容後在信件標頭中加入分析後的數據,而您可以使用 Gandi 的郵件伺服器添加的標頭來建立您自己的垃圾郵件篩選器。
X-GND-Status¶
X-GND-Status 是信件的集合分類,下表將解釋 Gandi 使用的分類:
分類 |
說明 |
---|---|
SPAM |
信件被歸類為疑似垃圾郵件:系統會在標頭中附加 X-GND-Score,表示這封信可能為垃圾郵件的分數 |
PCE |
信件已自我宣告為廣告信件:從已知的廣告平台 (ESP) 發送,並且符合廣告信件的規範,例如含有取消訂閱連結等 |
MCE |
信件屬於廣告信件,並遵守電子郵件行銷的規則,但是來自於未知的發送者 |
SOCIAL |
社群網路 (軟體) 的通知和提醒 |
PURCHASE |
網路交易的確認信 |
ACCOUNT |
建立使用者帳號或是資料更新的確認信 |
TRAVEL |
有關旅遊資訊 (租車、機票與預定住宿) 的確認信 |
FINANCE |
有關財務資訊 (銀行轉帳確認、帳戶餘額等) 的通知信 |
ALERTING |
有關一些提醒服務 (Google 提醒、Yahoo 提醒、房地產等) 的通知信 |
BOUNCE |
信件無法送達的通知 |
SUSPECT |
信件可能包含有害內容 (網路釣魚、轉帳詐騙等) |
如果您使用的是圖形化的編輯器,例如 SOGo,您可以選擇「Header」來過濾標頭,請您填入標頭的名稱 (此範例為 X-GND-Status) 並填入篩選條件。
下方的範例是使用 SOGo 篩選器建立篩選條件,將廣告信件放入名為「Commercial Emails」的資料夾內:
下方的範例是使用撰寫 Sieve 程式碼的方式來達成與上述同樣的條件,將廣告信件放入名為「Commercial Emails」的資料夾內:
# Filter emails categorized as MCE or PCE into the commercial emails folder.
require "fileinto";
if header :contains ["X-GND-Status"] ["MCE","PCE"] {
fileinto "Commercial Emails";
}
下方的範例是篩選標頭中已被標示為疑似垃圾郵件並且分數高於 200 分的信件,將其放入垃圾信 (Junk) 資料夾內:
# Filter emails with a spam score higher than 200 into the junk folder.
require ["fileinto","regex"];
if allof (header :contains ["X-GND-Status"] ["SPAM"], header :regex ["X-GND-Spam-Score"] ["[2-4][0-9][0-9]"] {
fileinto "Junk";
}