Hướng dẫn cấu hình OCI SMTP với Postfix trên Linux: Thiết lập an toàn và khắc phục sự cố
Bài viết này hướng dẫn cách cấu hình máy chủ Linux sử dụng Postfix để gửi email thông qua dịch vụ OCI Email Delivery của Oracle Cloud, bao gồm thiết lập bảo mật, kiểm tra và xử lý lỗi nâng cao.

Gửi email là một thành phần quan trọng trong môi trường đám mây, phục vụ cho các cảnh báo, thông báo và quy trình ứng dụng. Trong cơ sở hạ tầng của Oracle Cloud Infrastructure (OCI), dịch vụ Email Delivery cung cấp giải pháp đáng tin cậy dựa trên SMTP.
Hướng dẫn này sẽ minh họa cách cấu hình một máy chủ Linux để gửi email sử dụng OCI SMTP với một thiết lập an toàn, sẵn sàng cho môi trường sản xuất (production-ready).
Kiến trúc hệ thống
Luồng dữ liệu email trong thiết lập này sẽ đi qua các tầng sau:
- Máy chủ Linux
- Postfix (SMTP client)
- OCI Email Delivery (SMTP)
- Email người nhận
Điều kiện tiên quyết
Thiết lập trên OCI
Trước hết, bạn cần truy cập vào console của Oracle Cloud:
👉 OCI Console → Email Delivery
Tại đây, bạn cần thực hiện các bước sau:
✔ Tạo Approved Sender (Người gửi được phê duyệt)
Tạo Approved Sender trong OCI
Tạo thông tin xác thực SMTP
Sau khi thiết lập người gửi, bạn cần tạo thông tin đăng nhập SMTP. Hãy sao chép các thông tin sau một cách cẩn thận:
- SMTP Username
- SMTP Password
Thông tin xác thực SMTP
Yêu cầu về mạng
Từ máy chủ Linux của bạn, cần đảm bảo cho phép truy cập outgoing ra internet qua cổng:
- Cổng 587 (Khuyên dùng) hoặc 25.
Bạn có thể kiểm tra kết nối bằng lệnh telnet:
telnet smtp.email.ap-mumbai-1.oci.oraclecloud.com 587
Cài đặt các gói phần mềm cần thiết
Sử dụng trình quản lý gói (ví dụ yum trên CentOS/RHEL) để cài đặt Postfix và các công cụ hỗ trợ:
yum install postfix s-nail cyrus-sasl-plain -y
Sau khi cài đặt, hãy kiểm tra xem lệnh mail đã sẵn sàng chưa:
which mail
Kết quả mong đợi: /usr/bin/mail
Cấu hình Postfix
Bạn cần chỉnh sửa tệp cấu hình chính của Postfix:
vi /etc/postfix/main.cf
Thêm các cấu hình sau vào cuối tệp:
Cấu hình SMTP Relay của OCI (sử dụng cổng 587)
relayhost = [smtp.email.ap-mumbai-1.oci.oraclecloud.com]:587
Xác thực SMTP
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
Cấu hình TLS (Mã hóa)
smtp_use_tls = yes
smtp_tls_security_level = encrypt
Tùy chọn (Tránh vấn đề về kích thước)
mailbox_size_limit = 0
message_size_limit = 52428800
Cấu hình thông tin đăng nhập SMTP
Tạo tệp chứa mật khẩu:
vi /etc/postfix/sasl_passwd
Thêm dòng sau (chính xác):
[smtp.email.ap-mumbai-1.oci.oraclecloud.com]:587 SMTP_USERNAME:SMTP_PASSWORD
🔴 Lưu ý quan trọng:
✔ Chỉ nằm trên một dòng duy nhất.
✔ Bao gồm cả dấu ngoặc vuông [ ].
✔ Bao gồm :587.
✔ Không có khoảng trắng thừa.
Bảo mật và áp dụng thông tin đăng nhập
Thiết lập quyền hạn cho tệp mật khẩu để bảo mật và tạo bản đồ băm (hash map):
chmod 600 /etc/postfix/sasl_passwd
postmap /etc/postfix/sasl_passwd
Kiểm tra ánh xạ
Để đảm bảo cấu hình hoạt động đúng, hãy chạy lệnh kiểm tra:
postmap -q "[smtp.email.ap-mumbai-1.oci.oraclecloud.com]:587" hash:/etc/postfix/sasl_passwd
Kết quả mong đợi: SMTP_USERNAME:SMTP_PASSWORD
Kiểm tra ánh xạ xác thực
Cấu hình ánh xạ người gửi được phê duyệt
OCI chỉ chấp nhận email từ người gửi đã được phê duyệt. Bạn cần buộc tất cả các email gửi đi sử dụng địa chỉ người dùng này.
Ví dụ: Mapping root@hostname thành [email protected].
Sử dụng lệnh sau để cấu hình:
postconf -e "sender_canonical_maps = hash:/etc/postfix/sender_canonical"
Sau đó, tạo tệp ánh xạ:
vi /etc/postfix/sender_canonical
Thêm nội dung (ví dụ chuyển tất cả email từ root thành email đã phê duyệt):
root [email protected]
Áp dụng thay đổi:
postmap /etc/postfix/sender_canonical
Khởi động và kích hoạt Postfix
systemctl enable postfix
systemctl restart postfix
Kiểm tra gửi Email
Để thử nghiệm, hãy gửi một email thử nghiệm:
echo "OCI SMTP TEST FROM LINUX" | mail -s "TEST MAIL" [email protected]
Xem nhật ký hệ thống (Logs)
Kiểm tra log để xem trạng thái gửi email:
tail -f /var/log/maillog
Kết quả mong đợi: status = 200 (ok)
Xem log xác thực gửi email
Ví dụ tự động hóa
Bạn có thể tích hợp vào các script cảnh báo đơn giản:
echo "Nội dung cảnh báo" | mail -s "Cảnh báo hệ thống" [email protected]
Khắc phục sự cố
Vấn đề 1: Connection Timeout (Quá hạn kết nối)
Nguyên nhân: Cổng 25 thường bị chặn mặc định trên OCI hoặc các nhà cung cấp đám mây khác.
Giải pháp: Sử dụng cổng 587 hoặc 465 thay vì 25.
Vấn đề 2: Authentication Failed (Xác thực thất bại)
Nguyên nhân: Sai thông tin đăng nhập SMTP (Username hoặc Password).
Giải pháp:
Kiểm tra lại chính xác username và password trong tệp /etc/postfix/sasl_passwd.
Kiểm tra log chi tiết (Nâng cao)
Hãy luôn theo dõi log để tìm ra nguyên nhân gốc rễ:
sudo tail -f /var/log/maillog
Các trạng thái thường gặp:
status=sent: Gửi thành công.status=bounced: Email bị trả lại (thường do địa chỉ người nhận hoặc cấu hình người gửi).authentication failed: Sai thông tin đăng nhập.
Thực hành bảo mật tốt nhất
✔ Sử dụng mã hóa TLS cho mọi kết nối.
✔ Hạn chế quyền truy cập vào tệp chứa thông tin đăng nhập (chmod 600).
✔ Thường xuyên xoay vòng (rotate) thông tin xác thực SMTP.
✔ Tránh mã hóa cứng (hardcode) thông tin đăng nhập trong các tập lệnh.
Ứng dụng thực tế
Bạn có thể sử dụng thiết lập OCI SMTP này để gửi:
- Các cảnh báo giám sát hệ thống (Monitoring alerts).
- Thông báo từ ứng dụng (Application notifications).
- Thông báo hết hạn mật khẩu cho người dùng Linux.
Kết luận
OCI Email Delivery cung cấp một cách thức an toàn và có khả năng mở rộng để gửi email sử dụng SMTP đã xác thực với TLS. Khi kết hợp với Postfix – một MTA (Mail Transfer Agent) đáng tin cậy và nhẹ nhàng – nó trở thành một giải pháp đơn giản nhưng mạnh mẽ, sẵn sàng cho môi trường sản xuất.
Thiết lập này cũng làm nổi bật tính linh hoạt đa đám mây (cross-cloud); các ứng dụng chạy trên các nền tảng khác như AWS có thể sử dụng mượt mà OCI để gửi email, cho phép kiến trúc lai (hybrid architecture) tiết kiệm chi phí và hiệu quả.
Tóm lại, Postfix kết hợp với OCI SMTP là một cách tiếp cận thực tế, an toàn và hiệu quả cho các nhu cầu gửi email trong thế giới thực.
Bài viết liên quan

Phần mềm
Anthropic ra mắt Claude Opus 4.7: Nâng cấp mạnh mẽ cho lập trình nhưng vẫn thua Mythos Preview
16 tháng 4, 2026

Công nghệ
Qwen3.6-35B-A3B: Quyền năng Lập trình Agentic, Nay Đã Mở Cửa Cho Tất Cả
16 tháng 4, 2026

Công nghệ
Spotify thắng kiện 322 triệu USD từ nhóm pirate Anna's Archive nhưng đối mặt với bài toán thu hồi
16 tháng 4, 2026
