Thứ Năm, 15 tháng 1, 2026

Cấu hình Postfix làm máy chủ chuyển tiếp email trên máy chủ Oracle Linux

Bài viết này hướng dẫn cách cấu hình Postfix làm máy chủ chuyển tiếp email trên máy chủ Oracle Linux. Quy trình tương tự có thể được áp dụng trên RHEL và bất kỳ bản sao nào của RHEL, chẳng hạn như CentOS.

  • Tại sao?
  • Lắp đặt
  • Cấu hình chuyển tiếp email
  • Hãy thử nghiệm nó!

Tại sao?

Việc có các máy chủ chuyển tiếp email cục bộ trên máy chủ của bạn thực sự rất hữu ích. Cơ sở dữ liệu và máy chủ ứng dụng của bạn có thể gửi email bằng cách sử dụng "localhost:25" làm tổ hợp "host:port". Mã của bạn không cần phải lo lắng về xác thực hoặc chứng chỉ SSL. Nhiệm vụ của máy chủ chuyển tiếp email là lo lắng về cách giao tiếp với các máy chủ email thực sự.

Điều này giúp việc gửi email từ cơ sở dữ liệu bằng cách sử dụng UTL_SMTPtrở UTL_MAILnên APEX_MAILdễ dàng hơn rất nhiều.

Điều rất quan trọng là bạn phải đảm bảo rằng cổng 25 bị chặn trên tường lửa cục bộ của máy chủ, để chỉ các tiến trình trên máy chủ mới có thể truy cập vào máy chủ chuyển tiếp email này.

Điều quan trọng là bạn cần có máy chủ thư chấp nhận kết nối từ máy chủ chuyển tiếp. Bạn cần lấy thông tin chi tiết từ quản trị viên email hoặc nhà cung cấp dịch vụ lưu trữ của mình. Bạn sẽ không thể truy cập máy chủ SMTP của Gmail nếu bạn đã bật xác thực hai yếu tố cho tài khoản Google của mình, điều này hiện nay là bắt buộc.

Cài đặt

Cài đặt Postfix và một số gói liên quan với quyền người dùng root.

# OL8
dnf install -y postfix mailx cyrus-sasl cyrus-sasl-plain

# OL7
yum install -y postfix mailx cyrus-sasl cyrus-sasl-plain

Kích hoạt và khởi động Postfix.

systemctl enable postfix
systemctl start postfix

Cấu hình chuyển tiếp email

Các thao tác sau được thực hiện với quyền người dùng root. Để chạy từ người dùng có sudoquyền quản trị, chỉ cần thêm tiền tố sudolệnh.

Chúng tôi sẽ sử dụng các biến môi trường sau trong quá trình cấu hình. Bằng cách đó, bạn chỉ cần sửa đổi các giá trị cho phù hợp với thông tin máy chủ SMTP của mình, và các bước cấu hình còn lại có thể giữ nguyên.

MAIL_DOMAIN="example.com"
MAIL_USERNAME="me@example.com"
MAIL_PASSWORD="MyPassword"
MAIL_SMTP="smtp.ionos.co.uk"
MAIL_PORT=587

Các lệnh sau đây sẽ thêm thông tin chi tiết kết nối máy chủ thư vào tệp "/etc/postfix/sasl_passwd", sau đó hiển thị nội dung của tệp đó.

cat >> /etc/postfix/sasl_passwd <<EOF
[${MAIL_SMTP}]:${MAIL_PORT} ${MAIL_USERNAME}:${MAIL_PASSWORD}
EOF

cat /etc/postfix/sasl_passwd
[smtp.ionos.co.uk]:587 me@example.com:MyPassword
#

Chúng tôi đặt quyền truy cập cho tệp là 600, và sử dụng postmaplệnh để biên dịch và băm nội dung của tệp "sasl_passwd", rồi lưu chúng vào tệp "sasl_passwd.db" trong thư mục cấu hình Postfix (/etc/postfix).

chmod 600 /etc/postfix/sasl_passwd
postmap /etc/postfix/sasl_passwd

Chỉnh sửa tệp cấu hình Postfix "/etc/postfix/main.cf" để thiết lập chuyển tiếp thư. Lệnh sau sẽ thêm các thiết lập vào cuối tệp hiện có. Nếu có bất kỳ thiết lập tham số nào bị lặp lại, các thiết lập sau trong tệp sẽ ghi đè lên các thiết lập trước đó và cảnh báo sẽ được hiển thị trong tệp "/var/logs/maillog" mỗi khi một tin nhắn được gửi đi.

cat >> /etc/postfix/main.cf <<EOF
#
# Mail Relay
myorigin = ${MAIL_DOMAIN}
relayhost = [${MAIL_SMTP}]:${MAIL_PORT}
smtp_use_tls = yes
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_tls_CAfile = /etc/ssl/certs/ca-bundle.crt
smtp_sasl_security_options = noanonymous
smtp_sasl_tls_security_options = noanonymous
# End Mail Relay
EOF

Nếu bạn chỉnh sửa tệp theo cách thủ công, hãy nhớ sử dụng các giá trị chứ không phải các biến môi trường.

Khởi động lại dịch vụ Postfix.

systemctl restart postfix

Hãy thử nghiệm nó!

Thực hiện lệnh sau trên máy chủ sẽ gửi email thông qua máy chủ chuyển tiếp cục bộ.

echo "Test 1 body." | mail -s "Test 1 Subject" me@example.com

Đối với một email riêng lẻ, chúng ta thấy ba thông báo sau trong tệp "/var/logs/maillog". Chúng thể hiện quá trình email được đưa vào hàng đợi, gửi đi, rồi bị xóa khỏi hàng đợi.

May 25 14:26:10 localhost postfix/qmgr[18778]: 5FD1EB9AA3: from=<tim@oracle-base.com>, size=473, nrcpt=1 (queue active)
May 25 14:26:11 localhost postfix/smtp[18820]: 5FD1EB9AA3: to=<me@example.com>, relay=smtp.ionos.co.uk[213.165.67.115]:587, delay=546, delays=545/0.04/0.51/0.19, dsn=2.0.0, status=sent (250 Requested mail action okay, completed: id=1M8QNy-1lpxrP1Cj2-004WYo)
May 25 14:26:11 localhost postfix/qmgr[18778]: 5FD1EB9AA3: removed

Nếu bạn thấy lỗi trong nhật ký, hãy thực hiện các biện pháp khắc phục và thử lại. Hãy nhớ khởi động lại dịch vụ Postfix nếu bạn thực hiện bất kỳ thay đổi nào đối với cấu hình.

Để biết thêm thông tin chi tiết, vui lòng xem:

Hi vọng điều này sẽ hữu ích

=============================
Website không chứa bất kỳ quảng cáo nào, mọi đóng góp để duy trì phát triển cho website (donation) xin vui lòng gửi về STK 90.2142.8888 - Ngân hàng Vietcombank Thăng Long - TRAN VAN BINH
=============================
Nếu bạn không muốn bị AI thay thế và tiết kiệm 3-5 NĂM trên con đường trở thành DBA chuyên nghiệp hay làm chủ Database thì hãy đăng ký ngay KHOÁ HỌC ORACLE DATABASE A-Z ENTERPRISE, được Coaching trực tiếp từ tôi với toàn bộ bí kíp thực chiến, thủ tục, quy trình của gần 20 năm kinh nghiệm (mà bạn sẽ KHÔNG THỂ tìm kiếm trên Internet/Google) từ đó giúp bạn dễ dàng quản trị mọi hệ thống Core tại Việt Nam và trên thế giới, đỗ OCP.
- CÁCH ĐĂNG KÝ: Gõ (.) hoặc để lại số điện thoại hoặc inbox https://m.me/tranvanbinh.vn hoặc Hotline/Zalo 090.29.12.888
- Chi tiết tham khảo:
https://bit.ly/oaz_w
=============================
2 khóa học online qua video giúp bạn nhanh chóng có những kiến thức nền tảng về Linux, Oracle, học mọi nơi, chỉ cần có Internet/4G:
- Oracle cơ bản: https://bit.ly/admin_1200
- Linux: https://bit.ly/linux_1200
=============================
KẾT NỐI VỚI CHUYÊN GIA TRẦN VĂN BÌNH:
📧 Mail: binhoracle@gmail.com
☎️ Mobile/Zalo: 0902912888
👨 Facebook: https://www.facebook.com/BinhOracleMaster
👨 Inbox Messenger: https://m.me/101036604657441 (profile)
👨 Fanpage: https://www.facebook.com/tranvanbinh.vn
👨 Inbox Fanpage: https://m.me/tranvanbinh.vn
👨👩 Group FB: https://www.facebook.com/groups/DBAVietNam
👨 Website: https://www.tranvanbinh.vn
👨 Blogger: https://tranvanbinhmaster.blogspot.com
🎬 Youtube: https://www.youtube.com/@binhguru
👨 Tiktok: https://www.tiktok.com/@binhguru
👨 Linkin: https://www.linkedin.com/in/binhoracle
👨 Twitter: https://twitter.com/binhguru
👨 Podcast: https://www.podbean.com/pu/pbblog-eskre-5f82d6
👨 Địa chỉ: Tòa nhà Sun Square - 21 Lê Đức Thọ - Phường Mỹ Đình 1 - Quận Nam Từ Liêm - TP.Hà Nội

=============================
cơ sở dữ liệu, cơ sở dữ liệu quốc gia, database, AI, trí tuệ nhân tạo, artificial intelligence, machine learning, deep learning, LLM, ChatGPT, DeepSeek, Grok, oracle tutorial, học oracle database, Tự học Oracle, Tài liệu Oracle 12c tiếng Việt, Hướng dẫn sử dụng Oracle Database, Oracle SQL cơ bản, Oracle SQL là gì, Khóa học Oracle Hà Nội, Học chứng chỉ Oracle ở đầu, Khóa học Oracle online,sql tutorial, khóa học pl/sql tutorial, học dba, học dba ở việt nam, khóa học dba, khóa học dba sql, tài liệu học dba oracle, Khóa học Oracle online, học oracle sql, học oracle ở đâu tphcm, học oracle bắt đầu từ đâu, học oracle ở hà nội, oracle database tutorial, oracle database 12c, oracle database là gì, oracle database 11g, oracle download, oracle database 19c/21c/23c/23ai, oracle dba tutorial, oracle tunning, sql tunning , oracle 12c, oracle multitenant, Container Databases (CDB), Pluggable Databases (PDB), oracle cloud, oracle security, oracle fga, audit_trail,oracle RAC, ASM, oracle dataguard, oracle goldengate, mview, oracle exadata, oracle oca, oracle ocp, oracle ocm , oracle weblogic, postgresql tutorial, mysql tutorial, mariadb tutorial, ms sql server tutorial, nosql, mongodb tutorial, oci, cloud, middleware tutorial, docker, k8s, micro service, hoc solaris tutorial, hoc linux tutorial, hoc aix tutorial, unix tutorial, securecrt, xshell, mobaxterm, putty

ĐỌC NHIỀU

Trần Văn Bình - Oracle Database Master