版本 0.1.1,2026 年 9 月 30 日。下載(94 KB),SHA-256 4909ff8402b3244711bc13bac96cfc22810ee33d48f80885f87e44809572cdd0。安裝步驟位於本頁末尾,封存檔中的 INSTALL.md 也包含相同內容。原始碼、測試和發行版本位於 GitHub。
適用對象
為其他人營運 cPanel & WHM 伺服器的公司。以 root 身分安裝一次後,它就會出現在你所選方案的 cPanel » Email 中。在你透過 Feature Manager 啟用之前,客戶不會看到任何新功能。
如果沒有它,想知道郵件為何被歸入垃圾郵件的客戶,必須自行尋找測試工具、開啟郵件用戶端,並手動寄送電子郵件。有了它,測試按鈕就位於客戶的信箱旁邊,而且電子郵件確實會從你的伺服器寄出,使用該伺服器的 IP、HELO 名稱、DKIM 簽章,以及它所經過的任何轉送服務。
客戶在 cPanel 中可使用的功能
測試
客戶選擇一個信箱,然後寄送標準測試郵件,內容是一封簡短的英文個人郵件,包含純文字和 HTML 部分,或寄送自己的郵件。若要寄送自己的郵件,客戶可貼上主旨、HTML,以及選填的純文字版本,系統會完全按照貼上的內容寄出。Exim 會像寄送該帳戶的任何其他郵件一樣寄出。大約一分鐘後,報告就會顯示在同一頁面,其中包含全部 42 項檢查:SPF、DKIM、DMARC 與對齊、反向 DNS 與 HELO、TLS、IP 封鎖名單、SpamAssassin 與 Rspamd、Gmail 和 Yahoo 公布的寄件者要求,以及郵件內容。報告提供兩種分數,一種是滿分 100 分的技術分數,另一種是傳統的 0 到 10 分。
"Check the folder at email providers" 預設為勾選。啟用後,系統也會將一份郵件副本寄送到我們的每個測試信箱,共約 30 封郵件,涵蓋 14 家服務供應商,包括 Gmail、Outlook、Yahoo、GMX 和 Proton。在 Gmail,這些是公開測試信箱,任何人都能看到主旨、寄件者名稱和郵件所在的資料夾。表格會在最長 30 分鐘內逐步填入結果,顯示郵件在各服務供應商中進入 Inbox、Spam 或 Promotions。如果服務供應商直接拒收郵件,表格會註明此情況,並引用伺服器回覆,包括 SMTP 代碼,資料來自你伺服器上的 Exim 記錄。
分數下方是 需要修正的項目。如果網域的 DNS 位於你的伺服器上,cPanel 可透過按鈕修正 DKIM、SPF 和 DMARC。外掛程式會顯示記錄目前的內容及變更後的內容,並在變更前要求確認。如果 DNS 由其他地方託管,客戶會取得可直接複製的完整記錄,包括名稱、類型和值。反向 DNS 和伺服器本身的 A 記錄會放在另一個群組中,供伺服器管理員處理,所需的值也會預先填入。完成檢查幾分鐘後,Email Spam Tester 會提供書面修正方案。記錄設定完成後,按下 "Check again" 即可寄送新的測試郵件。
歷史記錄
這裡會列出該帳戶寄送過的每次測試,最新的排在最前面,並顯示日期、信箱、使用的郵件、兩種分數和各資料夾的郵件數量。圖表會顯示每次測試的分數變化。每次測試也會列出自相同網域上一次測試以來狀態有變化的檢查項目,因此修正後從失敗變為通過的 DKIM 檢查,會直接顯示在該列中。開啟測試即可查看報告,以及各服務供應商的接收伺服器回覆。每個帳戶最近的 200 次測試會保留在你的伺服器上。
持續監控
從信箱執行的測試,只能顯示該信箱的郵件如何寄出。cPanel 常見的問題通常出現在其他地方。WordPress 網站或聯絡表單可能使用信封寄件者 user@hostname 寄送郵件,導致 SPF 對齊失敗,而從信箱進行的測試永遠不會顯示這個問題。監控功能則能發現此問題。
監控功能建立的隱藏副本,會與原始郵件使用相同路徑離開你的伺服器,使用相同 IP、相同 HELO 和相同 DKIM 簽章。Exim 會為受監控網域寄出的每封郵件建立副本,並將其傳送到屬於該網域的專用私密地址,因此報告能反映實際寄送路徑,而原始郵件仍會保持不變並送達收件者。
監控分頁會以動態消息顯示該網域的郵件。每封郵件都會顯示收件者的網域,絕不顯示完整地址,以及郵件來源和失敗項目。來源包括網頁郵件、郵件用戶端、PHP 或 WordPress,以及呼叫 sendmail 的指令碼。動態消息上方會顯示過去 24 小時的單行摘要和警示,包括 DKIM 不再通過、某個來源的 SPF 或 DMARC 失敗、寄件 IP 出現在封鎖名單中,以及接收伺服器拒收郵件。開啟任何郵件即可查看各項檢查的技術報告,報告不會包含郵件標頭,客戶也可以要求 AI 為該郵件提供修正方案。
在管理員允許於伺服器上使用之前,監控功能會保持關閉。管理員允許後,每位客戶可為自己的網域啟用監控。
在 WHM 中可使用的功能
WHM » Plugins » Email Spam Tester 只有一個頁面。
- 註冊此伺服器。 完成註冊前無法執行測試。註冊時會傳送伺服器的主機名稱、cPanel 版本、外掛程式版本、帳戶數量,以及你輸入的電子郵件地址。傳回的金鑰會儲存在只有 root 能讀取的檔案中。
- 每日限制。 每個帳戶的測試上限預設為 20 次,每台伺服器則為 500 次。此外,我們的 API 對每個安裝實例另有使用限制。
- 誰可以使用。 初次安裝時,會在所有功能清單中關閉
email_spam_tester功能。你可以前往 WHM » Packages » Feature Manager,為應提供此功能的清單將其開啟。升級不會變更這些設定。 - 持續監控。 "Allow constant monitoring on this server" 會檢查目前使用中的 Exim 設定,在 Exim 的兩個寄件區塊中加入一項自訂 ACL,並加入一項自訂系統篩選器選項,接著重建並重新啟動 Exim。如果任何步驟失敗,則會移除所有變更。此規則在重建 Exim 和更新 cPanel 後仍會保留。開關旁會顯示相關限制:每個網域每小時 20 份副本、每台伺服器每小時 2,000 份副本、每個帳戶可監控 20 個網域,以及每個帳戶每天可使用 10 個 AI 方案。"Disable monitoring on the whole server" 會以相同方式移除該規則。
價格
目前免費,並包含監控功能。你不需要在 email-spam-tester.com 建立帳戶,目前也不需要支付任何費用。如果日後有任何變更,會先在變更記錄中公布。
資料與隱私
您的伺服器會傳送以下資料:
- 註冊時,傳送上述 WHM 區段列出的資料;
- 每次測試時,傳送收件端實際收到的電子郵件,包括 Exim 加入的標頭,其中包含伺服器的 IP 位址和主機名稱;我們只會透過帳戶名稱的帶金鑰雜湊值識別帳戶;
- 使用監控功能時,傳送郵件副本。
測試報告的運作方式與網站相同:報告會保留在其連結中,任何取得連結的人都能開啟,包括查看主旨和寄件者。電子郵件本身會在抵達一小時後、完成檢查後刪除,在此之前,任何取得連結的人都能閱讀完整內容。如上所述,資料夾檢查的 Gmail 部分也會公開,因此測試機密電子郵件時,最好不要使用這項功能。
監控副本是真實的往來郵件,其報告不會公開。只有您伺服器上的外掛程式能使用安裝金鑰開啟報告,且不會產生公開連結。副本會在抵達兩天後刪除,其報告則會在 90 天後刪除。歷史記錄和監控摘要會保留在您的伺服器上。
完整政策請參閱隱私權頁面。
主機服務供應商常問的問題
它會自行變更 DNS 嗎?
不會。只有在客戶按下檢查結果旁的按鈕,並確認變更前後的內容時,才會變更記錄,而且僅限於您伺服器代管該網域 DNS 的情況。SPF 和 DMARC 按鈕只會建立缺少的記錄。如果記錄已存在,系統會顯示合併後的內容,供客戶手動複製,按鈕絕不會取代現有記錄。DKIM 按鈕可以取代與伺服器金鑰不符的記錄,但前提是該記錄只有一筆。每項變更都會寫入帳戶記錄,以及 /var/cpanel/email_spam_tester/ 下只有 root 能編輯的記錄,其中也會保留 DNS 在變更前提供的記錄。
我的伺服器透過 smarthost 中繼外寄郵件。它仍然能運作嗎?
應該可以,但我尚未在 smarthost 後方測試。測試郵件會透過帳戶所有郵件使用的方式寄出,因此報告會顯示中繼主機的 IP 和名稱,因為這就是收件端看到的資訊。修正其反向 DNS 或將其移出封鎖名單,會是中繼服務維運者的工作。不過會遺失一項資訊。服務供應商拒收郵件的原因來自您伺服器上的 Exim 記錄,而使用中繼服務時,該記錄只會包含中繼主機的回覆。如果中繼主機接受郵件,但服務供應商之後拒收,郵件可能會顯示為「未收到」。監控副本也會透過中繼主機寄送。
監控會影響郵件送達率嗎?
客戶的郵件會像以前一樣寄出,內容不會變更,收件者也不會看到任何異常,因為副本是另外寄送到我們地址的郵件。它會影響的是每小時寄送上限。每個副本都會計入網域的 "max emails per hour" 一次,因此接近上限的網域會更早達到上限。使用預設設定時,每小時最多會增加 20 封郵件。若一小時內超過此副本數量,郵件仍會寄出,但不會附帶副本。
資料夾檢查也會計入每小時上限嗎?
會,它會寄送約 30 封郵件。外掛程式開始前會檢查該網域在本小時還能寄送多少封郵件,若數量不足,會告知客戶。
哪些項目已在實際環境中測試?
支援 cPanel & WHM 134 或更新版本。目前我已在 Ubuntu 24.04 上,以 138(11.138)版本進行實際測試。測試範圍包括安裝與升級、註冊、功能開關、有無資料夾檢查的測試、歷史記錄,以及監控來自全部四種來源的郵件。尚未在實際環境中測試的項目包括其他作業系統、搭配 CageFS 的 CloudLinux、DKIM、SPF 和 DMARC 按鈕(測試伺服器的 DNS 代管於其他地方)、透過 smarthost 中繼的伺服器,以及關閉整台伺服器的監控功能,後者目前只進行過試跑。如果您在其中一種環境中執行此外掛程式,我希望知道結果如何。
逐步安裝
本指南假設你擁有伺服器的 root 權限,而且以前未使用過 WHM 外掛。下方每個指令都可以直接複製並貼上執行。
1. 必要條件
- 伺服器的 root SSH 存取權限。
- cPanel & WHM 134 或更新版本,並使用 Jupiter 佈景主題。
- AlmaLinux、Rocky Linux、CloudLinux 或 Ubuntu 24.04。目前此外掛只在採用 Ubuntu 24.04 的 cPanel & WHM 138 (11.138) 實際環境中測試過。
- 對外連線的連接埠 25 必須開放,讓伺服器寄出的郵件能夠送達
t.email-spam-tester.com。許多 VPS 供應商預設會封鎖此連接埠。改用郵件轉送主機 (smarthost) 應該也可以,但目前尚未測試。 - 能透過 HTTPS 對外連線至
email-spam-tester.com。
你可以在安裝前檢查這兩種連線。第一個指令應輸出以 220 開頭的一行,第二個指令應輸出 200:
timeout 10 bash -c 'exec 3<>/dev/tcp/t.email-spam-tester.com/25 && head -1 <&3'
curl -s -o /dev/null -w '%{http_code}\n' https://email-spam-tester.com/health
2. 安裝
透過 SSH 以 root 身分登入,然後逐一執行以下指令。
前往 root 的主目錄,外掛將放在這裡:
cd /root
下載壓縮檔及其校驗和。成功時不會顯示任何輸出:
curl -fsSLO https://email-spam-tester.com/cpanel/latest.tar.gz
curl -fsSLO https://email-spam-tester.com/cpanel/latest.tar.gz.sha256
確認下載的檔案完整。你應該會看到 latest.tar.gz: OK。如果看到 FAILED,請重新下載,不要繼續操作:
sha256sum -c latest.tar.gz.sha256
將檔案解壓縮至 /root/email-spam-tester-cpanel。同樣地,不會顯示任何輸出:
mkdir -p email-spam-tester-cpanel
tar -xzf latest.tar.gz -C email-spam-tester-cpanel --strip-components=1
執行安裝程式。它會先檢查每個檔案,然後將檔案複製到正確位置:
cd /root/email-spam-tester-cpanel && ./install.sh
你應該會看到 Checking Perl syntax…、Root module…、cPanel pages…、幾行來自 cPanel 外掛安裝程式的訊息、Switching the feature off in all feature lists… 和 WHM page…。最後幾行應該是:
Installed. Next: WHM » Plugins » Email Spam Tester » Register this server.
Customers do not see it yet: turn on email_spam_tester in WHM » Feature Manager
for the feature lists (packages) that should have it.
請保留 /root/email-spam-tester-cpanel 目錄。升級和 uninstall.sh 都需要從這個目錄執行。
3. 在 WHM 中註冊伺服器
- 以 root 身分登入 WHM。
- 在左側選單中開啟 Plugins,然後按一下 Email Spam Tester。
- Registration 區塊會顯示「Not registered」。下方的管理員電子郵件欄位可留空。
- 按一下 Register this server。
頁面頂端會顯示一行綠色訊息「Registered. Installation #…」,區塊現在會顯示 Status: Registered、安裝編號和金鑰開頭。註冊時會傳送伺服器的主機名稱、cPanel 版本、外掛版本、帳戶數量,以及你有填寫時的電子郵件地址。金鑰儲存在 /var/cpanel/email_spam_tester/config.json,只有 root 可以讀取。
你也可以在同一頁變更每日限制,預設為每個帳戶 20 次測試、每部伺服器 500 次測試。
4. 為客戶啟用外掛
安裝後,任何人都不會看到此外掛。你需要選擇哪些套件可以使用它。
- 確認你的套件使用哪個功能清單:開啟 WHM » Packages » Edit a Package,選擇一個套件,然後查看 Feature List 欄位。許多伺服器使用的是
default。 - 開啟 WHM » Packages » Feature Manager。
- 在 Manage feature list 下選擇該清單,然後按一下 Edit。
- 在清單中找到 Email Spam Tester,如果清單很長,可以使用瀏覽器的搜尋功能。勾選它的核取方塊,然後按一下 Save。
- 對每個需要使用此外掛的功能清單重複以上操作。
使用這些套件的客戶現在會在 cPanel 的 Email 區段看到 Email Spam Tester。之後建立新的功能清單時,也請記得勾選它。
5. 以客戶身分傳送第一次測試
以其中一位客戶的身分登入 cPanel。你可以從 WHM 開啟 Account Information » List Accounts,然後按一下帳戶旁的 cPanel 圖示。
- 開啟 Email » Email Spam Tester。頁面有三個分頁:Test、History 和 Monitoring。
- 在 Test 分頁中選擇一個信箱。如果帳戶沒有任何信箱,請先在 Email » Email Accounts 中建立一個。
- 保持選取 Standard test email,並保持勾選 Check the folder at email providers。
- 按一下 Send test。
頁面會顯示目前正在執行的操作,包括檢查 DNS 記錄、寄送郵件,以及等待郵件送達。大約一分鐘後會顯示報告。報告包含兩個分數,一個是滿分 100 分的技術分數,另一個是傳統的 0 到 10 分,下方則是 What to fix。如果 cPanel 可以修正這部伺服器上的記錄,該清單會提供按鈕;如果 DNS 代管在其他位置,則會提供要複製的確切記錄;也會提供給伺服器管理員使用的反向 DNS 值。接著會列出所有檢查結果。接下來 30 分鐘內,Where the email landed 會逐步顯示郵件在各郵件服務供應商中進入 Inbox、Spam 或 Promotions,以及供應商拒收郵件時傳回的回應。檢查完成幾分鐘後,還會產生一份書面計畫。
資料夾檢查會寄送約 30 封郵件。如果網域的每小時寄送限制沒有足夠額度,頁面會在寄出任何郵件前告知你。
6. 持續監控(選用)
為網域開啟監控後,Exim 會將該網域寄出的每封郵件,以不可見副本的方式傳送至 Email Spam Tester 的私人地址,客戶則會看到每封郵件的技術報告。收件者不會看到任何內容。每個副本都會占用一次網域的每小時寄送額度,預設每小時最多 20 個副本。
- 在 WHM » Plugins » Email Spam Tester 中找到 Constant monitoring 區塊,然後按一下 Allow constant monitoring on this server。外掛會檢查你的 Exim 設定、加入規則、重新建置並重新啟動 Exim。如果任何步驟失敗,外掛會還原所有變更。成功時,你會看到「Constant monitoring is allowed on this server: the Exim rule is in, Exim was rebuilt and restarted.」,而該區塊會將規則顯示為 Active。
- 客戶在 cPanel 中開啟 Monitoring 分頁,按一下網域旁的 Turn on,然後確認。之後寄出的郵件會在一到兩分鐘內顯示於該分頁。
若要停止整部伺服器的監控,請在同一區塊中按一下 Disable monitoring on the whole server。
7. 升級
將新版本下載並解壓縮到舊版本上,然後再次執行安裝程式:
cd /root
curl -fsSLO https://email-spam-tester.com/cpanel/latest.tar.gz
curl -fsSLO https://email-spam-tester.com/cpanel/latest.tar.gz.sha256
sha256sum -c latest.tar.gz.sha256
tar -xzf latest.tar.gz -C email-spam-tester-cpanel --strip-components=1
cd /root/email-spam-tester-cpanel && ./install.sh
最後應顯示「Updated. The registration, limits and feature settings are unchanged.」。如果已允許監控,安裝程式也會更新 Exim 規則。
8. 解除安裝
cd /root/email-spam-tester-cpanel && ./uninstall.sh
這會從 Exim 移除監控規則、關閉每個網域的監控,並從 cPanel 和 WHM 移除此外掛。最後會顯示「Removed. The key is kept in /var/cpanel/email_spam_tester (use --purge to delete it).」。如果也要刪除金鑰,請改為執行 ./uninstall.sh --purge。
DNS 記錄絕不會被變更,包括客戶使用外掛按鈕建立的記錄。
9. 發生問題時
客戶看不到圖示。 他們套件所用的功能清單未啟用此功能。請再次執行步驟 4,並確認他們的套件實際使用哪個功能清單。
頁面顯示「The server administrator has not activated Email Spam Tester in WHM yet」。 伺服器尚未註冊。請執行步驟 3。
註冊失敗。 WHM 頁面頂端的紅色訊息會說明原因。最常見的原因是伺服器無法透過 HTTPS 連線至 email-spam-tester.com。請執行步驟 1 的 curl 檢查,它必須輸出 200,並檢查對外流量的防火牆規則。
測試顯示郵件在 3 分鐘內仍未送達。 郵件可能卡在佇列中或遭到拒收。請執行步驟 1 的連接埠 25 檢查。如果沒有任何輸出或連線逾時,表示你的供應商封鎖了對外連線的連接埠 25。請要求供應商開放該連接埠,或透過郵件轉送主機寄送郵件。若要查看 Exim 如何處理該郵件:
grep 't.email-spam-tester.com' /var/log/exim_mainlog | tail -5
客戶也可以在該信箱的 Email » Track Delivery 中查看。
cpanel.<domain> 上的頁面有時會發生 502 錯誤。 這是 Apache 為 cPanel 服務子網域提供的代理所造成,而且會影響所有 cPanel 頁面,不只此外掛。直接位址 https://<domain>:2083 不受影響。若要修正,請開啟 WHM » Service Configuration » Apache Configuration » Include Editor,為所有版本選擇 Pre VirtualHost Include,加入以下內容並儲存:
<IfModule setenvif_module>
SetEnvIfNoCase Host "^(cpanel|webmail|whm|webdisk|cpcalendars|cpcontacts)\." proxy-nokeepalive=1 proxy-initial-not-pooled=1
</IfModule>
然後套用設定:
apachectl configtest && /scripts/rebuildhttpdconf && /scripts/restartsrv_httpd
10. 支援
請寄信至 hi@email-spam-tester.com。如果安裝失敗,請附上 ./install.sh 的輸出;如果測試結果看起來不正確,請附上報告連結。如需更多外掛資訊,請前往 https://email-spam-tester.com/cpanel-integration/。