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_passwd và sasl_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!
Leave A Comment?