Mục lục
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é.
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
1 2 3 4 |
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
1 2 3 4 5 |
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
1 2 3 4 5 6 7 8 |
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
1 2 3 4 5 6 7 |
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.
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:
1 |
headers_add = "X-MC-MailingList: $original_local_part@$original_domain\n" |
Cho phép một tên miền:
1 |
senders = *@mydomain.com |
Cho phép một người dùng:
1 |
senders = user@mydoamin.com |
Thêm dòng sau vào cấu hình mục Section: ROUTERSTART
1 |
senders = !*@mydomain1.com : !*@mydomain2.com |
Cấu hình:
1 2 3 4 5 6 7 8 |
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 |
Thêm cấu hình vào mục Section: ROUTERSTART
1 |
domains = ! receivingdomain.com: +local_domains |
Cấu hình:
1 2 3 4 5 6 7 8 |
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 |
1 2 3 4 5 6 7 |
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 |
Chỉnh sửa file /etc/crontab và thêm cấu hình xóa Exim retry trong ngày.
1 2 |
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 |
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ị
1 |
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
1 |
queue_run_max = 50 |
Khởi động lại Exim
1 |
Service exim restart |
2.4. Set “timeout_frozen_after” to 12 hours
1 2 |
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!