Hướng dẫn cấu hình Email Relay cho máy chủ Cpanel WHM
Thịnh Văn Hạnh
13/01/2025
2694 Lượt xem
Chia sẻ bài viết
Trong quá trình quản trị máy chủ, rất nhiều quản trị viên gặp tình trạng email không gửi được, vào spam, hoặc bị chặn do IP server có reputation thấp. Khi đó, giải pháp phổ biến và hiệu quả là cấu hình Email Relay cho máy chủ cPanel WHM để chuyển việc gửi email qua một SMTP trung gian ổn định hơn.
Bài viết này hướng dẫn cấu hình Email Relay cho máy chủ cPanel WHM theo phương pháp User Authentication, giúp cải thiện khả năng gửi mail, tăng độ tin cậy và hạn chế rủi ro spam. Nội dung phù hợp cho SysAdmin, IT kỹ thuật, đơn vị vận hành VPS/Dedicated Server ở mức trung bình đến nâng cao.
Tóm Tắt Bài Viết
- Email Relay là gì và khi nào cần cấu hình cho cPanel WHM?
- Chuẩn bị trước khi cấu hình Email Relay cho máy chủ cPanel WHM
- Kiểm tra môi trường Exim trên WHM
- 1. Cách cấu hình Email Relay cho máy chủ cPanel WHM
- Tiếp theo sẽ là phần cấu hình bổ sung trên hệ thống Cpanel WHM
- 1.1. Cấu hình danh sách gửi thư X-Header
- 1.2. Cấu hình cho một email tên miền hoặc một người dùng cụ thể được gửi thư qua hệ thống Relay.
- 1.3. Chặn một tên miền, không cho phép gửi mail qua hệ thống Relay
- 1.3. Cấu hình chặn gửi thư đến một số tên miền nhất định.
- 2- Tối ưu hóa Exim
- Lỗi thường gặp khi cấu hình Email Relay cho cPanel WHM
Email Relay là gì và khi nào cần cấu hình cho cPanel WHM?
Email Relay là cơ chế cho phép máy chủ không gửi email trực tiếp từ IP của mình, mà chuyển tiếp toàn bộ email ra ngoài thông qua một SMTP Relay Server. Máy chủ relay sẽ thay mặt server xử lý việc gửi email đến Gmail, Yahoo hoặc các hệ thống mail khác.
Trong môi trường cPanel WHM, cấu hình Email Relay thường được sử dụng khi:
- Máy chủ bị chặn port 25 outbound
- IP server có email reputation thấp
- Email gửi ra ngoài thường xuyên vào spam
- Server không chuyên để gửi mail số lượng lớn
- Cần kiểm soát, giới hạn hoặc lọc email gửi đi
Theo kinh nghiệm triển khai thực tế, việc cấu hình Email Relay cho máy chủ cPanel WHM giúp tăng đáng kể tỷ lệ inbox, đặc biệt với các website gửi mail giao dịch như form liên hệ, thông báo hệ thống hoặc đơn hàng.

Chuẩn bị trước khi cấu hình Email Relay cho máy chủ cPanel WHM
Trước khi bắt đầu cấu hình Email Relay cho máy chủ cPanel WHM, bạn cần chuẩn bị đầy đủ thông tin kỹ thuật và kiểm tra môi trường hệ thống. Trên thực tế, rất nhiều lỗi như email không gửi được, Exim restart thất bại hoặc mail bị treo queue đều xuất phát từ việc thiếu hoặc sai thông tin ngay từ bước chuẩn bị.
Việc chuẩn bị đúng giúp quá trình cấu hình Email Relay diễn ra nhanh, hạn chế phải rollback hoặc chỉnh sửa nhiều lần sau này.
Thông tin bắt buộc cần có từ SMTP Relay
Khi cấu hình Email Relay cho cPanel WHM theo phương thức User Authentication, bạn cần chắc chắn đã có đầy đủ các thông tin sau từ nhà cung cấp SMTP Relay hoặc hệ thống mail trung gian.
Hostname máy chủ Relay
Đây là tên miền hoặc địa chỉ định danh của SMTP Relay Server, ví dụ:
as3.bkns.com.vn
Hostname này sẽ được Exim sử dụng để định tuyến toàn bộ email gửi ra ngoài. Nếu hostname sai hoặc không resolve được DNS, email sẽ không thể gửi đi.
Port SMTP
SMTP Relay có thể sử dụng nhiều port khác nhau, phổ biến nhất gồm:
- 25: port truyền thống (thường bị chặn outbound trên VPS)
- 465: SMTP over SSL
- 587: SMTP submission (được khuyến nghị)
- Hoặc port riêng do nhà cung cấp Relay chỉ định
Khi cấu hình Email Relay cho máy chủ cPanel WHM, bạn nên ưu tiên port 587 hoặc port riêng, vì đây là các port ít bị chặn và ổn định hơn trong môi trường hosting.
Username xác thực SMTP
Username dùng để xác thực khi máy chủ cPanel WHM kết nối đến SMTP Relay.
Thông thường username có thể là:
- Một email đầy đủ (user@domain.com)
- Hoặc một chuỗi user do hệ thống Relay cấp
Exim sẽ sử dụng thông tin này trong quá trình SMTP authentication để được phép gửi mail qua relay.
Password xác thực SMTP
Password đi kèm với username SMTP.
Bạn cần đảm bảo:
- Password chính xác, không có ký tự thừa
- Không bị thay đổi hoặc reset trong quá trình cấu hình
Sai password là nguyên nhân rất phổ biến khiến cấu hình Email Relay cho cPanel WHM thất bại dù các bước khác đều đúng.
Phương thức bảo mật (TLS/SSL)
Tùy vào SMTP Relay Server, kết nối có thể yêu cầu:
- TLS
- SSL
- Hoặc không mã hóa
Thông tin này ảnh hưởng trực tiếp đến cách Exim thiết lập transport. Nếu relay yêu cầu TLS/SSL nhưng Exim không được cấu hình đúng, email sẽ bị từ chối ngay khi handshake.
Đây là thông tin dùng cho User Authentication, phương pháp phổ biến nhất khi cấu hình Email Relay cho cPanel WHM.

Kiểm tra môi trường Exim trên WHM
Máy chủ cPanel WHM mặc định sử dụng Exim để xử lý việc gửi và nhận email. Trước khi cấu hình Email Relay cho máy chủ cPanel WHM, bạn cần đảm bảo Exim đang hoạt động ổn định và có thể chỉnh sửa cấu hình. Nếu Exim gặp lỗi sẵn, việc cấu hình Email Relay sẽ không mang lại hiệu quả.
Trước tiên, kiểm tra trạng thái Exim trong WHM tại Home → Service Status hoặc qua SSH bằng lệnh:
service exim status
Exim phải ở trạng thái running và không báo lỗi liên tục.
Tiếp theo, đảm bảo bạn có quyền truy cập Exim Configuration Manager → Advanced Editor trong WHM. Nếu không chỉnh sửa được, rất có thể tài khoản chưa đủ quyền hoặc Exim đang bị khóa cấu hình.
Cuối cùng, kiểm tra khả năng restart Exim sau khi chỉnh sửa:
service exim restart
Nếu Exim không khởi động lại được, hãy xem log tại /var/log/exim_mainlog trước khi tiếp tục.
Việc kiểm tra kỹ môi trường Exim giúp quá trình cấu hình Email Relay cho máy chủ cPanel WHM diễn ra ổn định và tránh lỗi mail không gửi được sau này.
1. Cách cấu hình Email Relay cho máy chủ cPanel WHM
Bước 1: Truy cập Home WHM -> Service Configuration -> Exim Configuration Manager -> Advanced Editor.

Bước 2: Tìm nhập thông tin trong mục Section: AUTH
mailbkns_login: driver = plaintext public_name = LOGIN client_send = :UserRelay:PasswdRelay (Thông tin User Authentication)

Bước 3: Tìm nhập thông tin trong mục Section: POSTMAILCOUNT hoặc Section: ROUTERSTART (Lưu ý không cấu hình cả 2).
Section: POSTMAILCOUNT
remoteserver_route: driver = manualroute transport = mailbkns_smtp domains = !+local_domains route_list = * as3.bkns.com.vn::5875 randomize byname
(as3.bkns.com.vn::5875 – Thông tin máy chủ Relay và Port Relay tùy thuộc vào cấu hình của máy chủ).

Section: ROUTERSTART
send_via_mailbkns: driver = manualroute domains = ! +local_domains transport = mailbkns_smtp hosts_randomize = true route_list = * as3.bkns.com.vn::5875 randomize byname host_find_failed = defer no_more
(as3.bkns.com.vn::5875 – Thông tin máy chủ Relay và Port Relay tùy thuộc vào cấu hình của máy chủ).

Bước 4: Tìm nhập thông tin trong mục Section: TRANSPORTSTART
mailbkns_smtp:
driver = smtp
hosts_require_auth = *
tls_tempfail_tryclear = true
headers_add = X-AuthUser: ${if match {$authenticated_id}{.*@.*}\
{$authenticated_id} {${if match {$authenticated_id}{.+}\
{$authenticated_id@$primary_hostname}{$authenticated_id}}}}

Sau khi add đầy đủ các thông tin các bạn Save lại nội dung cập nhật, nếu máy chủ Exim reset thành công là các bạn đã cấu hình xong Email Relay và có thể kiểm tra lại gửi nhận email qua hệ thống Relay.

Tiếp theo sẽ là phần cấu hình bổ sung trên hệ thống Cpanel WHM
1.1. Cấu hình danh sách gửi thư X-Header
Nếu bạn đã thiết lập danh sách gửi thư trong môi trường cPanel của mình, bạn cần bật X-MC-MailingList headers để cho phép hệ thống xác định tài khoản gửi.
Các bạn chỉnh sửa file exim.conf trong /etc/exim.conf, thêm dòng sau vào phần mailman_virtual_transport:
headers_add = "X-MC-MailingList: $original_local_part@$original_domain\n"

1.2. Cấu hình cho một email tên miền hoặc một người dùng cụ thể được gửi thư qua hệ thống Relay.
Cho phép một tên miền:
senders = *@mydomain.com
Cho phép một người dùng:
senders = user@mydoamin.com
1.3. Chặn một tên miền, không cho phép gửi mail qua hệ thống Relay
Thêm dòng sau vào cấu hình mục Section: ROUTERSTART
senders = !*@mydomain1.com : !*@mydomain2.com
Cấu hình:
send_via_mailbkns: driver = manualroute domains = ! +local_domains senders = !*@mydomain1.com : !*@mydomain2.com transport = mailbkns_smtp route_list = "* as3.bkns.com.vn::5875 byname" host_find_failed = defer no_more

1.3. Cấu hình chặn gửi thư đến một số tên miền nhất định.
Thêm cấu hình vào mục Section: ROUTERSTART
domains = ! receivingdomain.com: +local_domains
Cấu hình:
send_via_mailbkns: driver = manualroute domains = ! recevingdomain.com : ! +local_domains senders = !*@mydomain1.com : !*@mydomain2.com transport = mailbkns_smtp route_list = "* as3.bkns.com.vn::25 byname" host_find_failed = defer no_more

2- Tối ưu hóa Exim
2.1. Thay đổi khoảng thời gian thử lại.
Under section: RETRYSTART * data_4xx F,4h,1m * rcpt_4xx F,4h,1m * timeout F,4h,1m * refused F,1h,5m * lost_connection F,1h,1m * * F,6h,5m
2.2. Xóa bỏ thư rác trong hàng đợi theo chu kỳ.
Chỉnh sửa file /etc/crontab và thêm cấu hình xóa Exim retry trong ngày.
25 5 * * * root /usr/sbin/exim_tidydb -t 1d /var/spool/exim retry 35 5 * * * root /usr/sbin/exim_tidydb -t 1d /var/spool/exim wait-remote_smtp
2.3. Cấu hình hàng đợi Exim
Thay đổi số lượng User chạy trong hàng đợi. Chỉnh sửa file /etc/default/exim hoặc cập nhật /etc/sysconfig/exim giá trị
QUEUE= 60s
Thay đổi số lượng User tối đa tồn tại đồng thời trong hàng đợi trong /etc/exim.conf
queue_run_max = 50
Khởi động lại Exim
Service exim restart
2.4. Set “timeout_frozen_after” to 12 hours
Type: time Default: 0s
Nếu timeout_frozen_ after được đặt thành thời gian lớn hơn 0, thì thông báo cố định của bất kỳ mô tả nào đã ở trên hàng đợi lâu hơn thời gian nhất định sẽ tự động bị hủy ở lần chạy hàng tiếp theo. Nếu đó là một tin nhắn bị trả lại, nó chỉ bị loại bỏ; nếu không, một thư bị trả lại sẽ được gửi đến người gửi, theo cách tương tự như việc hủy bằng tùy chọn dòng lệnh -Mg.
2.5. Set “ignore_bounce_errors_after” parameter to 1 hour
Lựa chọn này ảnh hưởng đến việc xử lý các thư trả lại không thể gửi được, tức là những thư lỗi bị lỗi gửi vĩnh viễn và sẽ gửi lại theo cách thông thường.
Lỗi thường gặp khi cấu hình Email Relay cho cPanel WHM
Trong quá trình cấu hình Email Relay cho cPanel WHM, dù đã làm đúng theo hướng dẫn, nhiều quản trị viên vẫn gặp các sự cố khiến email không gửi được, gửi chậm hoặc vào spam. Những lỗi này thường không nằm ở một bước riêng lẻ mà xuất phát từ cấu hình Exim, xác thực SMTP hoặc DNS chưa đồng bộ. Việc nhận diện sớm các lỗi phổ biến sẽ giúp bạn tiết kiệm rất nhiều thời gian debug và tránh ảnh hưởng đến toàn bộ hệ thống mail đang vận hành.
- Exim restart thất bại do sai cú pháp: Đây là lỗi nghiêm trọng nhất khi cấu hình Email Relay cho cPanel WHM. Nguyên nhân thường đến từ việc thêm cấu hình sai section, thiếu dấu xuống dòng hoặc sai indent trong router/transport. Khi Exim không restart được, toàn bộ hệ thống gửi mail sẽ ngừng hoạt động và cần kiểm tra log ngay.
- Mail gửi được nhưng vào spam: Trường hợp này xảy ra khá phổ biến sau khi cấu hình Email Relay. Dù SMTP Relay hoạt động bình thường, email vẫn vào spam do domain chưa cấu hình SPF, DKIM hoặc DMARC. Ngoài ra, việc gửi mail qua relay nhưng DNS không cho phép cũng làm giảm uy tín email.
- SMTP Relay từ chối xác thực (Authentication failed): Lỗi này xuất hiện khi Exim không xác thực được với SMTP Relay. Nguyên nhân thường là sai username, password hoặc sử dụng sai port SMTP. Trong một số trường hợp, relay yêu cầu TLS/SSL nhưng Exim chưa được cấu hình đúng cơ chế bảo mật.
- Queue mail tăng liên tục: Khi queue mail tăng nhanh, điều đó cho thấy email không được gửi thành công ra SMTP Relay nhưng Exim vẫn retry. Lỗi này thường liên quan đến kết nối relay chậm, sai route_list hoặc retry time quá dài, dẫn đến tiêu tốn tài nguyên hệ thống.
- Email chỉ gửi được nội bộ, không gửi ra ngoài: Đây là lỗi khiến nhiều quản trị viên nhầm lẫn vì mail nội bộ vẫn hoạt động bình thường. Nguyên nhân thường do router chỉ áp dụng cho local_domains hoặc điều kiện domains trong cấu hình relay bị đặt sai, khiến email ra ngoài không đi qua SMTP Relay.

Nguyên nhân phổ biến dẫn đến lỗi khi cấu hình Email Relay
Sai thông tin User Authentication: Chỉ cần sai một ký tự trong username hoặc password SMTP cũng đủ khiến Email Relay không hoạt động. Đây là nguyên nhân chiếm tỷ lệ cao nhất khi cấu hình thất bại.
Sử dụng sai port SMTP: Việc dùng port 25 trong môi trường VPS thường gây lỗi do port này hay bị chặn outbound. Port 587 hoặc port riêng của nhà cung cấp relay thường ổn định hơn.
Thiếu cấu hình SPF/DKIM/DMARC trong DNS: Dù Email Relay hoạt động đúng, việc thiếu các bản ghi DNS này vẫn khiến email dễ bị đánh dấu spam hoặc bị từ chối bởi mail server người nhận.
Việc cấu hình Email Relay cho máy chủ cPanel WHM là giải pháp hiệu quả để khắc phục tình trạng email không gửi được, vào spam hoặc bị hạn chế do IP server có reputation thấp. Khi được chuẩn bị đúng thông tin SMTP Relay, kiểm tra kỹ môi trường Exim và cấu hình theo chuẩn User Authentication, hệ thống mail sẽ hoạt động ổn định và đáng tin cậy hơn.
Trong quá trình triển khai, bạn cần đặc biệt chú ý đến xác thực SMTP, port sử dụng và cấu hình DNS như SPF, DKIM, DMARC để đảm bảo email gửi ra ngoài đạt tỷ lệ inbox cao. Thực hiện đầy đủ các bước và tối ưu Exim hợp lý sẽ giúp hệ thống mail vận hành bền vững, hạn chế lỗi phát sinh về sau.



































