Hướng dẫn cấu hình External SMTP cho Postfix trên CentOS 7

Chào mọi người,

Bài viết này Kỹ Thuật sẽ hướng dẫn cách cấu hình External SMTP cho Postfix trên CentOS 7, ví dụ smtp của gmail,…

Cài đặt Postfix

Đầu tiên ta cần phải cài đặt Postfix trước đã.

Trước đó thì nên cài một số thư viện:

yum install -y cyrus-sasl cyrus-sasl-lib cyrus-sasl-plain

Cài Postfix:

yum install -y postfix

Cấu hình domain:

vi /etc/postfix/main.cf

Thêm vào dòng:

myhostname = your-domain

Lưu ý chỗ này your-domain ở dạng FQDN. Ví dụ: mail.example.com

Cấu hình External SMTP

Lưu Username và Password của SMTP ở trong file /etc/postfix/sasl_passwd.

Bên trong file này sẽ lưu dưới dạng:

[mail.isp.example] username:password

Ví dụ:

[smtp.gmail.com]:587 test@gmail.com:password

Lưu ý ở đây số “587” đại diện cho port sử dụng để liên kết smtp. Ngoài ra còn có các port 465, 25 để sử dụng,…

Thêm nữa, tài khoản gmail này cần phải Bật Less Secure, hoặc là nếu không Bật Less Secure thì tài khoản gmail đó nên bật xác thực hai bước và tạo mật khẩu ứng dụng riêng cho Postfix.

Tạo file hash db cho Postfix:

postmap /etc/postfix/sasl_passwd

Chạy xong câu lệnh trên sẽ có 1 file sasl_passwd.db mới được tạo nằm trong thư mục /etc/postfix.

Phân quyền cho 2 file sasl_passwdsasl_passwd.db:

chown root:root /etc/postfix/sasl_passwd /etc/postfix/sasl_passwd.db
chmod 0600 /etc/postfix/sasl_passwd /etc/postfix/sasl_passwd.db

Cấu hình Relay Server

vi /etc/postfix/main.cf

Tìm trong file sẽ có dòng tương tự:

relayhost = your-domain

Sửa thành:

relayhost = [mail.isp.example]

Ví dụ:

relayhost = [smtp.gmail.com]:587

Thêm các dòng sau ở cuối file này:

# enable SASL authentication
smtp_sasl_auth_enable = yes
# disallow methods that allow anonymous authentication.
smtp_sasl_security_options = noanonymous
# where to find sasl_passwd
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
# Enable STARTTLS encryption
smtp_use_tls = yes
# where to find CA certificates
smtp_tls_CAfile = /etc/pki/ca-trust/extracted/openssl/ca-bundle.trust.crt

Ngoài ra có lúc Server chạy đồng thời IPv4 và IPv6 thì sẽ ưu tiên dùng kết nối IPv6, nhưng mà như vậy lại lỗi, do IPv6 chưa phổ biến.

Cho nên cần tắt IPv6 trên Postfix, tìm dòng:

inet_protocols = all

Và sửa lại thành:

inet_protocols = ipv4

Lưu file này lại và khởi động lại postfix:

systemctl restart postfix

Gửi email test để kiểm tra:

sendmail recipient@elsewhere.com
From: you@example.com
Subject: Test mail
This is a test email
.

Kiểm tra ở hộp thư của địa chỉ email nhận xem đã nhận được email chưa.

Vậy là xong bài hướng dẫn cấu hình external smtp cho postfix trên CentOS 7.

Hi vọng mọi người thành công!

Rate This Article

Leave A Comment?