Cài đặt Postfix SMTP Relay với Mailjet trên CentOS 8

Tình trạng địa chỉ IP của mail server nằm trong các blacklist có lẽ không phải là xa lạ đối với quản trị viên hệ thống. Khi đó các email được gửi đi từ mail server sẽ bị cho là spam và không thể vào được hộp thư người dùng từ các công ty, tổ chức khác. Chính vì nguyên nhân này, hôm nay mình sẽ hướng dẫn bạn cách triển khai SMTP Relay sử dụng Postfix và nhà cung cấp dịch vụ SMTP Relay Mailjet. Với cách này, email đi ra ngoài Internet của bạn sẽ được mang nguồn IP sạch, không còn bị đánh giá là spam mỗi khi gửi tới đơn vị khác.

Chuẩn bị môi trường #

  • OS: CentOS 8
  • Địa chỉ IP nằm trong blacklist
  • Tài khoản Mailjet (Free 200 mail/ngày)

Cài đặt Postfix SMTP Relay #

Đầu tiên, bạn cần cài đặt Postfix để triển khai SMTP Server:

sudo dnf install postfix

Tiếp theo cài đặt các gói hỗ trợ cho SMTP Relay:

sudo dnf install cyrus-sasl-plain cyrus-sasl-md5

Kiểm tra thuộc tính relayhost của Postfix, mặc định sẽ chưa được cấu hình:

postconf relayhost

bạn sẽ có kết quả chưa cấu hình như bên dưới:

relayhost =

Tiếp theo bạn cần đăng nhập vào tài khoản Mailjet và lấy thông tin về relay host:

mailjet-smtp-info

Bạn sẽ có thông tin SMTP Server cũng như thông tin xác thực như bên dưới:

information-smtp

Khi đó, bạn hãy cấu hình lại thuộc tính relayhost cho Postfix như sau:

sudo postconf -e "relayhost = in-v3.mailjet.com:587"

Tiếp theo, thực hiện chỉnh sửa cấu hình của Postfix:

sudo nano /etc/postfix/main.cf

Tìm kiếm và chỉnh sửa các dòng cấu hình như sau:

# outbound relay configurations
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
header_size_limit = 4096000

Lưu lại file cấu hình, tiếp tục tạo file /etc/postfix/sasl_passwd như sau:

sudo nano /etc/postfix/sasl_passwd

Thêm vào file thông tin sau:

in-v3.mailjet.com:587  api-key:secret-key

Trong đó api-key và secret-key được lấy từ tài khoản Mailjet của bạn ở trên. Lưu lại file cấu hình và thực thi câu lệch sau để chuyển đổi file thành định dạng Postfix có thể đọc được:

sudo postmap /etc/postfix/sasl_passwd

Bạn sẽ thấy xuất hiện file mới trong thư mục là /etc/postfix/sasl_passwd.db. Khởi động lại Postfix để làm mới cấu hình:

sudo systemctl restart postfix

Tiếp theo, bạn cần chỉnh lại quyền hạn cho các file để đảm bảo tính bảo mật:

sudo chmod 0600 /etc/postfix/sasl_passwd /etc/postfix/sasl_passwd.db

Thêm Sender Domain cần relay #

Để sử dụng được dịch vụ relay mail, bạn phải xác thực domain với Mailjet. Truy cập vào dashboard của Mailjet và chọn manage sender addresses để xác thực domain:

access-domain-authentication

Mailjet yêu cầu bạn phải cấu hình SPF và DKIM cho domain bạn muốn relay. Do vậy, bạn hãy vào setup domain authentication để xem thông tin SPF và DKIM cần cấu hình:

DKIM-SPF

Bạn hãy truy cập vào trang quản trị DNS của domain và thực hiện cấu hình thêm SPF và DKIM theo yêu cầu của Mailjet. Sau khi các bản ghi đó có hiệu lực thì bạn có thể kiểm tra lại trên dashboard như bên dưới:

success-dkim-spf

Như vậy là bạn có thể relay mail thông qua dịch vụ của Mailjet rồi. Thực hiện kiểm tra thử như sau:

sudo dnf install mailx

echo "this is a test email from tel4vn center" | mailx -r from-address -s hello to-address

Với from-address là địa chỉ email có domain là domain bạn đã xác thực với Mailjet và to-address là địa chỉ email người nhận.

Kết luận #

Như vậy, thông qua bài viết này, mình đã hướng dẫn bạn cấu hình SMTP Relay sử dụng Postfix và dịch vụ của Mailjet. Cuối cùng, bất kì thắc mắc hay lỗi cấu hình nào thì bạn hãy bình luận bên dưới để mình giải đáp nhé.

Nguồn bài viết: https://www.linuxbabe.com/

Mình là Tùng, hiện đang là DevOps tại Công Ty CP EcoIT. Với kinh nghiệm có được từ trong công việc, mình muốn chia sẻ cho bạn đọc cùng biết và cùng nhau học thêm nhiều điều mới trong lĩnh vực DevOps.

Powered by BetterDocs

Để lại bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *