Hướng dẫn cấu hình Email Relay cho máy chủ Cpanel WHM
Thịnh Văn Hạnh 09/11/2020 1687 Lượt xem Chia sẻ bài viết
Email Relay là gì? Nếu các bạn còn ai chưa hiểu rõ về dịch vụ Email Relay thì có thể tham khảo thêm bài viết sau được BKNS giới thiệu cụ thể về dịch vụ, khái niệm, ưu nhược điểm cũng như cấu trúc hoạt động của Email Relay tại đây.
Bài này BKNS sẽ hướng dẫn các bạn cấu hình Email Relay trên máy chủ Cpanel WHM thông qua User Authentication. Vì Cpanel quản lý qua giao diện Web GUI nên việc cấu hình cũng khá đơn giản, chúng ta bắt đầu nhé.
Tóm Tắt Bài Viết
- 1 1- Cấu hình Email Relay:
- 1.1 Tiếp theo sẽ là phần cấu hình bổ sung trên hệ thống Cpanel WHM
- 1.2 1.1. Cấu hình danh sách gửi thư X-Header
- 1.3 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.4 1.3. Chặn một tên miền, không cho phép gửi mail qua hệ thống Relay
- 1.5 1.3. Cấu hình chặn gửi thư đến một số tên miền nhất định.
- 2 2- Tối ưu hóa Exim
1- Cấu hình Email Relay:
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.
Chúc các bạn cài đặt thành công!
Hào Phạm – Bộ phận kỹ thuật!