Email Spam Tester

Email Spam Tester › Email Spam Tester cho cPanel & WHM

Email Spam Tester cho cPanel & WHM

Plugin dành cho nhà cung cấp dịch vụ lưu trữ. Khách hàng tìm thấy plugin trong mục Email của cPanel, gửi email thực từ một trong các hộp thư của họ và nhận danh sách những vấn đề cần sửa, kèm bản ghi DNS chính xác hoặc nút cPanel bên cạnh từng kết quả.

Phiên bản 0.1.1, ngày 30 tháng 9 năm 2026. Tải xuống (94 KB), SHA-256 4909ff8402b3244711bc13bac96cfc22810ee33d48f80885f87e44809572cdd0. Các bước cài đặt nằm ở cuối trang này, và nội dung tương tự cũng có trong tệp INSTALL.md trong kho lưu trữ. Mã nguồn, các bài kiểm thử và các bản phát hành có trên GitHub.

Dành cho ai

Các công ty vận hành máy chủ cPanel & WHM cho khách hàng. Bạn chỉ cần cài đặt một lần với quyền root, sau đó công cụ sẽ xuất hiện trong cPanel » Email đối với các gói bạn chọn. Khách hàng sẽ không thấy thay đổi nào cho đến khi bạn bật công cụ trong Feature Manager.

Nếu không có công cụ này, khách hàng muốn biết tại sao email của họ bị đưa vào thư rác phải tự tìm một công cụ kiểm thử, mở ứng dụng email và gửi email theo cách thủ công. Khi có công cụ này, nút kiểm thử nằm ngay cạnh các hộp thư của họ, và email thực sự được gửi từ máy chủ của bạn, sử dụng IP, tên HELO, chữ ký DKIM và mọi dịch vụ chuyển tiếp mà email đi qua.

Khách hàng nhận được gì trong cPanel

Kiểm thử

Khách hàng chọn một hộp thư và gửi email kiểm thử tiêu chuẩn (một email cá nhân ngắn bằng tiếng Anh, có phần văn bản và phần HTML) hoặc thư của riêng họ. Với thư riêng, họ dán tiêu đề, nội dung HTML và phiên bản văn bản thuần tùy chọn. Thư được gửi đi đúng nguyên văn nội dung đã dán. Exim gửi thư như mọi email khác từ tài khoản đó. Khoảng một phút sau, báo cáo xuất hiện ngay trên cùng trang với đầy đủ 42 lượt kiểm tra: SPF, DKIM, DMARC và căn chỉnh, DNS ngược và HELO, TLS, danh sách chặn IP, SpamAssassin và Rspamd, các yêu cầu đối với người gửi do Gmail và Yahoo công bố, cùng nội dung email. Có hai điểm số, một điểm kỹ thuật trên thang 100 và điểm truyền thống từ 0 đến 10.

"Check the folder at email providers" được chọn theo mặc định. Khi bật tùy chọn này, một bản sao của email cũng được gửi đến từng hộp thư kiểm thử của chúng tôi, khoảng 30 email tại 14 nhà cung cấp, trong đó có Gmail, Outlook, Yahoo, GMX và Proton. Tại Gmail, đây là các hộp thư kiểm thử công khai, nơi bất kỳ ai cũng có thể xem tiêu đề, tên người gửi và thư mục. Bảng được cập nhật dần trong tối đa 30 phút và hiển thị Inbox, Spam hoặc Promotions cho từng nhà cung cấp. Nếu một nhà cung cấp từ chối email ngay lập tức, bảng sẽ cho biết điều đó và trích dẫn phản hồi từ máy chủ của họ, bao gồm mã SMTP, lấy từ nhật ký Exim trên máy chủ của bạn.

Bên dưới các điểm số là What to fix. Khi DNS của tên miền nằm trên máy chủ của bạn, cPanel có thể sửa DKIM, SPF và DMARC bằng một nút bấm. Plugin hiển thị bản ghi hiện tại và bản ghi sau khi sửa, đồng thời yêu cầu xác nhận trước. Khi DNS được lưu trữ ở nơi khác, khách hàng nhận được chính xác bản ghi cần sao chép, bao gồm tên, loại và giá trị. DNS ngược và bản ghi A của chính máy chủ nằm trong một nhóm riêng dành cho quản trị viên máy chủ, với các giá trị đã được điền sẵn. Một kế hoạch bằng văn bản từ Email Spam Tester sẽ xuất hiện vài phút sau khi hoàn tất kiểm tra, và "Check again" sẽ gửi một email mới sau khi các bản ghi đã được thiết lập.

Lịch sử

Mọi lần kiểm thử mà tài khoản đã gửi được liệt kê từ mới nhất đến cũ nhất, kèm ngày, hộp thư, email đã dùng, cả hai điểm số và số lượng theo thư mục. Biểu đồ hiển thị điểm số qua từng lần kiểm thử. Mỗi lần kiểm thử liệt kê các lượt kiểm tra đã thay đổi so với lần kiểm thử trước đó của cùng tên miền. Vì vậy, nếu kiểm tra DKIM chuyển từ không đạt sang đạt sau khi sửa, thay đổi đó sẽ xuất hiện ngay trong hàng tương ứng. Khi mở một lần kiểm thử, khách hàng sẽ thấy báo cáo và phản hồi của máy chủ nhận tại từng nhà cung cấp. 200 lần kiểm thử gần nhất của mỗi tài khoản được lưu trên máy chủ của bạn.

Giám sát liên tục

Một lần kiểm thử từ hộp thư cho biết thư từ hộp thư đó được gửi đi như thế nào. Vấn đề cPanel điển hình lại nằm ở nơi khác. Một trang WordPress hoặc biểu mẫu liên hệ gửi thư với người gửi phong bì là user@hostname, khiến căn chỉnh SPF bị lỗi, và không lần kiểm thử nào từ hộp thư có thể phát hiện được. Tính năng giám sát thì có thể.

Bản sao vô hình do tính năng giám sát tạo ra rời khỏi máy chủ theo cùng đường đi với email, từ cùng IP, với cùng HELO và cùng chữ ký DKIM. Exim tạo bản sao này cho mỗi email do một tên miền đang được giám sát gửi đi và chuyển nó đến một địa chỉ riêng thuộc tên miền đó. Vì vậy, báo cáo mô tả đường đi thực tế, còn bản thân email vẫn đến người nhận mà không bị thay đổi.

Tab Monitoring hiển thị email của tên miền dưới dạng một luồng. Mỗi email có tên miền của người nhận (không bao giờ có địa chỉ), nguồn gửi và lỗi đã xảy ra. Các nguồn gồm webmail, ứng dụng email, PHP hoặc WordPress, và các tập lệnh gọi sendmail. Phía trên luồng là bản tóm tắt một dòng về 24 giờ gần nhất và các cảnh báo: DKIM không còn đạt, SPF hoặc DMARC bị lỗi đối với một nguồn, IP gửi nằm trong danh sách chặn, hoặc máy chủ nhận từ chối email. Có thể mở từng email để xem báo cáo kỹ thuật về các lượt kiểm tra của email đó (không bao gồm tiêu đề email), và khách hàng có thể yêu cầu một kế hoạch bằng AI cho email này.

Tính năng giám sát vẫn tắt cho đến khi quản trị viên cho phép sử dụng trên máy chủ. Sau đó, mỗi khách hàng tự bật tính năng này cho các tên miền của mình.

Nội dung có trong WHM

WHM » Plugins » Email Spam Tester là một trang duy nhất.

Giá

Hiện tại miễn phí, bao gồm cả tính năng giám sát. Bạn không cần tạo tài khoản trên email-spam-tester.com và hiện không phải trả bất kỳ khoản phí nào. Nếu điều đó thay đổi, nhật ký thay đổi sẽ thông báo trước.

Dữ liệu và quyền riêng tư

Dữ liệu được gửi ra khỏi máy chủ của bạn:

Báo cáo kiểm thử hoạt động giống như trên trang web: báo cáo vẫn được lưu tại liên kết của nó và bất kỳ ai có liên kết đều có thể mở, bao gồm cả chủ đề và người gửi. Chính email đó sẽ bị xóa một giờ sau khi được nhận, sau khi các bước kiểm tra hoàn tất. Cho đến lúc đó, bất kỳ ai có liên kết đều có thể đọc toàn bộ email. Phần Gmail của kiểm tra vị trí thư mục cũng được công khai như mô tả ở trên, vì vậy tốt hơn là nên kiểm thử email bí mật mà không dùng phần này.

Các bản sao giám sát là thư từ thực và báo cáo của chúng được giữ riêng tư. Chỉ plugin trên máy chủ của bạn mới có thể mở các báo cáo này bằng khóa cài đặt và không có liên kết công khai. Một bản sao sẽ bị xóa hai ngày sau khi được nhận, còn báo cáo của bản sao đó sẽ bị xóa sau 90 ngày. Lịch sử và nguồn cấp dữ liệu giám sát vẫn được lưu trên máy chủ của bạn.

Trang quyền riêng tư có đầy đủ chính sách.

Các câu hỏi nhà cung cấp dịch vụ lưu trữ thường đặt ra

Plugin có tự thay đổi DNS không?

Không. Bản ghi chỉ được thay đổi khi khách hàng nhấn nút bên cạnh một phát hiện và xác nhận nội dung trước và sau khi thay đổi, đồng thời chỉ khi máy chủ của bạn lưu trữ DNS của tên miền. Các nút SPF và DMARC chỉ tạo bản ghi còn thiếu. Nếu bản ghi đã tồn tại, plugin sẽ hiển thị phiên bản đã hợp nhất để khách hàng sao chép thủ công, nút này không bao giờ thay thế bản ghi đó. Nút DKIM có thể thay thế bản ghi không khớp với khóa của máy chủ, nhưng chỉ khi có đúng một bản ghi. Mọi thay đổi đều được ghi vào nhật ký của tài khoản và một nhật ký trong /var/cpanel/email_spam_tester/ mà chỉ root mới có thể chỉnh sửa, cùng với bản ghi DNS mà máy chủ đã cung cấp trước khi thay đổi.

Máy chủ của tôi chuyển tiếp email gửi đi qua smarthost. Plugin vẫn hoạt động chứ?

Có thể, nhưng tôi chưa kiểm thử plugin phía sau smarthost. Email thử nghiệm được gửi đi theo cùng cách với mọi email khác từ tài khoản, vì vậy báo cáo hiển thị IP và tên của máy chủ chuyển tiếp, bởi đó là thông tin bên nhận nhìn thấy. Việc sửa DNS ngược hoặc gỡ IP đó khỏi danh sách chặn khi ấy thuộc trách nhiệm của đơn vị vận hành máy chủ chuyển tiếp. Có một thông tin sẽ bị mất. Lý do nhà cung cấp từ chối email được lấy từ nhật ký Exim trên máy chủ của bạn, nhưng khi dùng máy chủ chuyển tiếp, nhật ký đó chỉ chứa phản hồi của máy chủ chuyển tiếp. Email được máy chủ chuyển tiếp chấp nhận nhưng sau đó bị nhà cung cấp từ chối có thể hiển thị là "Không nhận được". Các bản sao giám sát cũng được gửi qua máy chủ chuyển tiếp.

Việc giám sát có ảnh hưởng đến khả năng gửi email không?

Email của khách hàng vẫn được gửi đi như trước, không bị thay đổi và người nhận không thấy gì, vì bản sao là một lượt gửi riêng đến địa chỉ của chúng tôi. Việc này có ảnh hưởng đến giới hạn gửi theo giờ. Mỗi bản sao được tính một lần vào giới hạn "max emails per hour" của tên miền, vì vậy tên miền gần đạt giới hạn sẽ chạm giới hạn sớm hơn, tối đa 20 email mỗi giờ với thiết lập mặc định. Khi số bản sao trong một giờ vượt quá mức đó, email vẫn được gửi đi nhưng không có bản sao.

Kiểm tra thư mục cũng được tính vào giới hạn theo giờ phải không?

Có, quá trình này gửi khoảng 30 email. Trước khi bắt đầu, plugin kiểm tra số email tên miền còn có thể gửi trong giờ hiện tại và thông báo cho khách hàng nếu số lượng đó không đủ.

Những gì đã được kiểm thử trực tiếp?

Plugin hỗ trợ cPanel & WHM 134 trở lên. Đến nay, tôi đã kiểm thử trực tiếp phiên bản 138 (11.138) trên Ubuntu 24.04. Quá trình này bao gồm cài đặt và nâng cấp, đăng ký, công tắc tính năng, các bài kiểm thử có và không có kiểm tra thư mục, lịch sử và giám sát email từ cả bốn nguồn. Những nội dung chưa được kiểm thử trực tiếp gồm các hệ điều hành khác, CloudLinux với CageFS, các nút DKIM, SPF và DMARC (DNS của máy chủ kiểm thử được lưu trữ ở nơi khác), máy chủ chuyển tiếp qua smarthost và việc tắt giám sát cho toàn bộ máy chủ, nội dung này mới chỉ được chạy thử mà không áp dụng thay đổi. Nếu bạn chạy plugin trong một trong các trường hợp đó, tôi muốn biết kết quả như thế nào.

Cài đặt từng bước

Hướng dẫn này giả định bạn có quyền root trên máy chủ và chưa từng sử dụng plugin WHM. Mỗi lệnh bên dưới được thiết kế để bạn sao chép và dán nguyên trạng.

1. Những gì bạn cần

Bạn có thể kiểm tra cả hai kết nối trước khi cài đặt. Lệnh đầu tiên phải in ra một dòng bắt đầu bằng 220, lệnh thứ hai phải in ra 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. Cài đặt

Đăng nhập qua SSH với quyền root và chạy lần lượt từng lệnh sau.

Chuyển đến thư mục chính của root, nơi plugin sẽ được lưu:

cd /root

Tải xuống tệp lưu trữ và checksum của tệp. Khi thành công, lệnh sẽ không in ra nội dung nào:

curl -fsSLO https://email-spam-tester.com/cpanel/latest.tar.gz
curl -fsSLO https://email-spam-tester.com/cpanel/latest.tar.gz.sha256

Kiểm tra tệp tải xuống còn nguyên vẹn. Bạn phải thấy latest.tar.gz: OK. Nếu thấy FAILED, hãy tải lại và không tiếp tục:

sha256sum -c latest.tar.gz.sha256

Giải nén vào /root/email-spam-tester-cpanel. Lệnh này cũng không in ra nội dung nào:

mkdir -p email-spam-tester-cpanel
tar -xzf latest.tar.gz -C email-spam-tester-cpanel --strip-components=1

Chạy trình cài đặt. Trình cài đặt sẽ kiểm tra tất cả tệp trước, sau đó sao chép chúng vào đúng vị trí:

cd /root/email-spam-tester-cpanel && ./install.sh

Bạn phải thấy Checking Perl syntax…, Root module…, cPanel pages…, một vài dòng từ trình cài đặt plugin của cPanel, Switching the feature off in all feature lists… và WHM page…. Các dòng cuối phải là:

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.

Giữ lại thư mục /root/email-spam-tester-cpanel. Quá trình nâng cấp và uninstall.sh sẽ chạy từ thư mục này.

3. Đăng ký máy chủ trong WHM

  1. Đăng nhập vào WHM với quyền root.
  2. Trong menu bên trái, mở Plugins và nhấp vào Email Spam Tester.
  3. Hộp Registration hiển thị "Not registered". Trường email quản trị viên bên dưới là tùy chọn.
  4. Nhấp vào Register this server.

Một dòng màu xanh lá cây xuất hiện ở đầu trang, "Registered. Installation #…", và hộp giờ đây hiển thị Status: Registered cùng số cài đặt và phần đầu của khóa. Quá trình đăng ký gửi hostname của máy chủ, phiên bản cPanel, phiên bản plugin, số lượng tài khoản và email nếu bạn đã nhập. Khóa được lưu trong /var/cpanel/email_spam_tester/config.json và chỉ root có thể đọc.

Trên cùng trang này, bạn có thể thay đổi giới hạn hằng ngày. Mặc định là 20 lần kiểm thử cho mỗi tài khoản và 500 lần cho mỗi máy chủ.

4. Bật cho khách hàng

Sau khi cài đặt, không ai nhìn thấy plugin. Bạn chọn các package được phép sử dụng plugin.

  1. Xác định feature list mà các package của bạn sử dụng: WHM » Packages » Edit a Package, chọn một package rồi xem trường Feature List. Trên nhiều máy chủ, giá trị này là default.
  2. Mở WHM » Packages » Feature Manager.
  3. Trong Manage feature list, chọn danh sách đó và nhấp vào Edit.
  4. Tìm Email Spam Tester trong danh sách, có thể dùng chức năng Find của trình duyệt nếu danh sách dài, chọn hộp kiểm của plugin rồi nhấp vào Save.
  5. Lặp lại với mọi feature list cần có plugin.

Khách hàng sử dụng các package đó giờ đây sẽ thấy Email Spam Tester trong phần Email của cPanel. Hãy nhớ chọn plugin trong các feature list bạn tạo sau này.

5. Gửi lần kiểm thử đầu tiên với tư cách khách hàng

Đăng nhập vào cPanel bằng một trong các tài khoản khách hàng đó. Từ WHM, bạn có thể dùng Account Information » List Accounts và biểu tượng cPanel bên cạnh tài khoản.

  1. Mở Email » Email Spam Tester. Trang này có ba tab: Test, History và Monitoring.
  2. Trong tab Test, chọn một mailbox. Nếu tài khoản chưa có mailbox, trước tiên hãy tạo một mailbox trong Email » Email Accounts.
  3. Giữ tùy chọn Standard test email và giữ hộp Check the folder at email providers ở trạng thái được chọn.
  4. Nhấp vào Send test.

Trang sẽ hiển thị những gì đang diễn ra: kiểm tra bản ghi DNS, gửi thư và chờ email đến. Khoảng một phút sau, báo cáo sẽ xuất hiện. Báo cáo có hai điểm số, một điểm kỹ thuật trên thang 100 và điểm truyền thống từ 0 đến 10, bên dưới là What to fix. Danh sách này cung cấp nút để cPanel sửa bản ghi trên máy chủ này, bản ghi chính xác để sao chép khi DNS được lưu trữ ở nơi khác và các giá trị DNS ngược dành cho bạn với tư cách quản trị viên máy chủ. Tiếp theo là toàn bộ kết quả kiểm tra. Mục Where the email landed sẽ được điền trong vòng 30 phút tiếp theo với Inbox, Spam hoặc Promotions cho từng nhà cung cấp email, cùng phản hồi của nhà cung cấp nếu họ từ chối email. Một kế hoạch bằng văn bản sẽ xuất hiện vài phút sau khi hoàn tất các bước kiểm tra.

Quá trình kiểm tra thư mục gửi khoảng 30 email. Nếu giới hạn gửi theo giờ của tên miền không đủ cho số email này, trang sẽ thông báo trước khi gửi bất kỳ email nào.

6. Giám sát liên tục (tùy chọn)

Khi bật giám sát cho một tên miền, Exim gửi một bản sao ẩn của mỗi email do tên miền gửi đến một địa chỉ riêng tại Email Spam Tester, và khách hàng sẽ thấy báo cáo kỹ thuật của từng email. Người nhận không nhìn thấy gì. Mỗi bản sao được tính một lần vào giới hạn gửi theo giờ của tên miền, mặc định tối đa 20 bản sao mỗi giờ.

  1. Trong WHM » Plugins » Email Spam Tester, tìm hộp Constant monitoring và nhấp vào Allow constant monitoring on this server. Plugin kiểm tra cấu hình Exim, thêm quy tắc, xây dựng lại và khởi động lại Exim, đồng thời khôi phục mọi thứ nếu bất kỳ bước nào thất bại. Khi thành công, bạn sẽ thấy "Constant monitoring is allowed on this server: the Exim rule is in, Exim was rebuilt and restarted." và hộp hiển thị quy tắc ở trạng thái Active.
  2. Khách hàng mở tab Monitoring trong cPanel, nhấp vào Turn on bên cạnh một tên miền rồi xác nhận. Các email được gửi sau đó sẽ xuất hiện trong tab sau một hoặc hai phút.

Để dừng tính năng này trên toàn bộ máy chủ, nhấp vào Disable monitoring on the whole server trong cùng hộp.

7. Nâng cấp

Tải xuống và giải nén phiên bản mới đè lên phiên bản cũ, sau đó chạy lại trình cài đặt:

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

Quá trình phải kết thúc bằng "Updated. The registration, limits and feature settings are unchanged." Nếu giám sát được cho phép, trình cài đặt cũng sẽ cập nhật quy tắc Exim.

8. Gỡ cài đặt

cd /root/email-spam-tester-cpanel && ./uninstall.sh

Lệnh này xóa quy tắc giám sát khỏi Exim, tắt giám sát cho mọi tên miền và xóa plugin khỏi cPanel và WHM. Quá trình kết thúc bằng "Removed. The key is kept in /var/cpanel/email_spam_tester (use --purge to delete it)." Nếu muốn xóa cả khóa, hãy chạy ./uninstall.sh --purge thay thế.

Các bản ghi DNS không bao giờ bị thay đổi, bao gồm cả những bản ghi khách hàng đã tạo bằng các nút của plugin.

9. Nếu có sự cố

Khách hàng không nhìn thấy biểu tượng. Tính năng này đang bị tắt trong feature list của package họ sử dụng. Thực hiện lại bước 4 và kiểm tra package của họ thực sự dùng feature list nào.

Trang hiển thị "The server administrator has not activated Email Spam Tester in WHM yet". Máy chủ chưa được đăng ký. Hãy thực hiện bước 3.

Đăng ký thất bại. Thông báo màu đỏ ở đầu trang WHM cho biết nguyên nhân. Trường hợp thường gặp nhất là máy chủ không thể kết nối đến email-spam-tester.com qua HTTPS. Hãy chạy kiểm tra curl ở bước 1, lệnh này phải in ra 200, và kiểm tra các quy tắc tường lửa cho lưu lượng chiều ra.

Kết quả kiểm thử cho biết thư chưa đến sau 3 phút. Email đang bị kẹt trong hàng đợi hoặc đã bị từ chối. Chạy kiểm tra cổng 25 ở bước 1. Nếu lệnh không in ra gì hoặc hết thời gian chờ, nhà cung cấp của bạn đang chặn cổng 25 chiều ra. Hãy yêu cầu họ mở cổng hoặc gửi thư qua relay. Để xem Exim đã xử lý email như thế nào:

grep 't.email-spam-tester.com' /var/log/exim_mainlog | tail -5

Khách hàng cũng có thể kiểm tra mailbox trong Email » Track Delivery.

Các trang trên cpanel.<domain> đôi khi gặp lỗi 502. Nguyên nhân là proxy Apache dành cho các service subdomain của cPanel, và lỗi này ảnh hưởng đến mọi trang cPanel chứ không chỉ plugin này. Địa chỉ trực tiếp https://<domain>:2083 không bị ảnh hưởng. Để khắc phục, mở WHM » Service Configuration » Apache Configuration » Include Editor, chọn Pre VirtualHost Include cho tất cả phiên bản, thêm các dòng sau rồi lưu:

<IfModule setenvif_module>
    SetEnvIfNoCase Host "^(cpanel|webmail|whm|webdisk|cpcalendars|cpcontacts)\." proxy-nokeepalive=1 proxy-initial-not-pooled=1
</IfModule>

Sau đó áp dụng thay đổi:

apachectl configtest && /scripts/rebuildhttpdconf && /scripts/restartsrv_httpd

10. Hỗ trợ

Gửi email đến hi@email-spam-tester.com. Nếu cài đặt thất bại, hãy kèm theo đầu ra của ./install.sh. Nếu kết quả kiểm thử có vẻ không đúng, hãy gửi liên kết báo cáo. Thông tin thêm về plugin có tại https://email-spam-tester.com/cpanel-integration/.