Máy chủ email của bạn gửi email không đến inbox và bị đánh spam liên tục? Reverse DNS, SPF, DKIM, DMARC khiến bạn đau đầu? Dịch vụ SMTP Relay là gì và tại sao nó là giải pháp giúp bạn gửi email transactional (reset password, alert…) một cách đáng tin cậy mà không cần tự quản lý một máy chủ email phức tạp?
SMTP Relay là gì?
SMTP Relay (Email Relay) là dịch vụ cho phép bạn sử dụng máy chủ email của bên thứ ba để gửi mail thay vì gửi trực tiếp từ server của mình. Thay vì server bạn (có thể bị ISP/Cloud provider block port 25, IP không có reputation) gửi mail, nó sẽ “relay” (chuyển tiếp) mail đến SMTP relay provider, và provider này sẽ đảm bảo mail đến đúng inbox.
Đơn giản hóa:
- Không có SMTP Relay: Server của bạn → Internet → Email provider (Gmail, Outlook…) → Thường vào spam hoặc bị reject
- Có SMTP Relay: Server của bạn → Relay Provider (SendGrid, Mailgun, SES) → Email provider → Inbox
Relay provider đã có sẵn IP reputation tốt, SPF/DKIM/DMARC đã configure, hạ tầng chịu tải cao và dashboard theo dõi delivery rate.
Tại sao cần dùng SMTP Relay?
Có nhiều lý do để bạn nên sử dụng SMTP relay thay vì tự gửi mail:
- Port 25 bị block: Hầu hết ISPs và cloud providers (AWS, GCP, DigitalOcean…) block port 25 theo mặc định. SMTP relay dùng port 587 (STARTTLS) hoặc 465 (TLS Wrapper).
- IP Reputation: Server mới chưa có email reputation, mail dễ bị coi là spam. Relay provider có IP đã được warm up.
- Không cần quản lý DNS records phức tạp: SPF, DKIM, DMARC, reverse DNS đòi hỏi kiến thức và thời gian. Provider lo phần này.
- Analytics: Theo dõi delivery rate, open rate, bounce rate, spam complaint qua dashboard.
- Scalability: Tự gửi 10,000 emails/ngày có thể gây overload. Relay provider xử lý dễ dàng.
So sánh các SMTP Relay Provider phổ biến
Ba provider phổ biến nhất hiện nay là SendGrid, Mailgun, và Amazon SES. Cấu hình Postfix gần như giống nhau – chỉ khác relayhost và credentials.
| Provider | Free Tier | Chi phí | Đặc điểm |
|---|---|---|---|
| SendGrid | 100 emails/ngày | Từ $20/tháng cho 50,000 emails | Brand mạnh, dashboard tốt |
| Mailgun | 5,000 emails/tháng | Từ $35/tháng | Developer-friendly |
| Amazon SES | 62,000 emails/tháng | $0.10/1,000 emails | Rẻ nhất khi scale |
Cài Đặt Và Cấu Hình Postfix SMTP Relay
Postfix là một trong những Mail Transfer Agent (MTA) phổ biến nhất trên Linux. Việc thiết lập postfix smtp relay giúp việc chuyển tiếp email qua các nhà cung cấp bên thứ ba trở nên vô cùng đơn giản. Nếu hệ thống của bạn đang sử dụng các máy chủ email khác như Exim, bạn có thể tham khảo hướng dẫn cấu hình BCC email trên Exim. Còn đối với Postfix, việc cấu hình postfix được thực hiện chi tiết như sau:
Yêu cầu
- Linux server (Ubuntu 22.04+, Debian 12+)
- Quyền sudo
- Outbound access port 587 hoặc 465
- Tài khoản SMTP provider
Bước 1: Cài đặt Postfix
sudo apt update
sudo apt install -y postfix mailutils libsasl2-modules
Chọn Satellite system khi được hỏi. Nếu chọn sai, chạy: sudo dpkg-reconfigure postfix
Bước 2: Cấu hình main.cf
sudo nano /etc/postfix/main.cf
Thêm block sau ở cuối file:
# External SMTP relay
relayhost = RELAYHOST_PLACEHOLDER
# SASL authentication
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_sasl_tls_security_options = noanonymous
# TLS encryption
smtp_tls_security_level = encrypt
smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt
Lưu ý: Dùng port 465 thì thêm smtp_tls_wrappermode = yes
Bước 3: Tạo credentials file
sudo nano /etc/postfix/sasl_passwd
# Format: [host]:port username:password
sudo chmod 0600 /etc/postfix/sasl_passwd
sudo postmap /etc/postfix/sasl_passwd
Bước 4: Khởi động lại Postfix
sudo systemctl restart postfix
Cấu hình với SendGrid
Điểm đặc biệt: SendGrid dùng apikey làm username (không phải email).
# main.cf
relayhost = [smtp.sendgrid.net]:587
# sasl_passwd
[smtp.sendgrid.net]:587 apikey:SG.your_api_key_here
Cấu hình với Mailgun
# main.cf
relayhost = [smtp.mailgun.org]:587
# sasl_passwd
[smtp.mailgun.org]:587 postmaster@yourdomain.com:your_password
Cấu hình với Amazon SES
Lưu ý: Tài khoản mới sẽ ở sandbox mode.
# main.cf (thay region)
relayhost = [email-smtp.us-east-1.amazonaws.com]:587
# sasl_passwd
[email-smtp.us-east-1.amazonaws.com]:587 SMTP_USERNAME:SMTP_PASSWORD
Bảo mật và Best Practices
- File
sasl_passwdphải có chmod 0600 - Không commit credentials vào git
- Giới hạn Postfix chỉ nhận mail từ localhost:
mynetworks = 127.0.0.0/8 - Theo dõi dashboard và kiểm tra
mailqthường xuyên
Xử lý lỗi thường gặp
“no worthy mechs found”: Cài thiếu libsasl2-modules → sudo apt install libsasl2-modules
“Connection refused”: Port bị block → Kiểm tra firewall hoặc yêu cầu ISP unblock
“Authentication failed”: Kiểm tra credentials, nhớ dùng apikey với SendGrid
Mail vào spam: Verify domain, kiểm tra spam score trong dashboard
Kết luận
SMTP Relay giúp gửi transactional emails đáng tin cậy mà không cần lo về IP reputation hay DNS records. Ba bước cơ bản: cài Postfix, cấu hình relayhost + credentials, test và monitor.
SendGrid phù hợp với free tier, Mailgun tốt cho dev teams, Amazon SES là lựa chọn tối ưu chi phí khi scale lớn.


