Hướng dẫn cài đặt và cấu hình Postfix làm Server SMTP chỉ gửi trên Ubuntu 20.04

Lượt xem
Home

Postfix cũng là một giải pháp thay thế nhẹ hơn để chạy một máy chủ SMTP hoàn chỉnh, trong khi vẫn giữ được các chức năng cần thiết. Trong hướng dẫn này, Vietnix sẽ hướng dẫn bạn cài đặt và cấu hình Postfix làm Server SMTP chỉ gửi trên Ubuntu 20.04.

Giới thiệu về Postfix

Postfix là một ứng dụng chuyển thư (mail transfer agent – MTA) dùng để gửi và nhận email. Nó có thể được cấu hình để chỉ có thể được sử dụng chỉ gửi email bằng ứng dụng cục bộ. Điều này hữu ích trong các tình huống khi bạn cần thường xuyên gửi thông báo qua email từ ứng dụng của mình hoặc có nhiều lưu lượng truy cập ra bên ngoài mà nhà cung cấp dịch vụ email bên thứ ba không cho phép.

Ứng dụng chuyển thư Postfix
Ứng dụng chuyển thư Postfix

Yêu cầu để cài đặt và cấu hình Postfix làm Server SMTP chỉ gửi trên Ubuntu 20.04

Việc thiết lập và duy trì server mail riêng rất phức tạp và tốn thời gian. Đối với hầu hết người dùng, việc sử dụng dịch vụ mail trả phí sẽ thực tế hơn.

Nếu bạn muốn cài đặt và cấu hình Postfix, bạn cần:

  • Một server Ubuntu 20.04 bao gồm cả việc tạo một sudo non-root user.
  • Tên miền được đăng ký. Hướng dẫn này sẽ sử dụng vietnixtest.com.
  • Một bản ghi A DNS với vietnixtest.com trỏ đến địa chỉ IP máy chủ của bạn.

Bước 1: Cài đặt Postfix

Cách nhanh nhất là cài đặt package mailutils, bao gồm Postfix với một vài chương trình bổ sung mà bạn sẽ sử dụng để kiểm tra việc gửi email.

Đầu tiên, cập nhật cơ sở dữ liệu package:

sudo apt update

Cài đặt Postfix bằng cách chạy lệnh sau:

sudo apt install mailutils

Gần cuối quá trình cài đặt, bạn sẽ thấy tùy chọn cấu hình Postfix:

Tùy chọn cấu hình Postfix
Tùy chọn cấu hình Postfix

Tùy chọn mặc định là Internet Site. Đó là tùy chọn được đề xuất cho trường hợp của bạn, vì vậy hãy nhấn TAB rồi ENTER. Nếu chỉ thấy dòng mô tả nhấn TAB chọn OK rồi ENTER.

Nếu không thấy tự động hiển thị, hãy chạy lệnh sau để khởi động nó:

sudo dpkg-reconfigure postfix

Sau đó, bạn sẽ nhận được một lời nhắc cấu hình khác liên quan đến System mail name:

System mail name
System mail name

System mail name phải giống với tên bạn đã gán cho server của mình khi tạo. Khi bạn hoàn tất, hãy nhấn TAB, sau đó là ENTER.

Bước 2: Cấu hình Postfix

Trong bước này, bạn sẽ cấu hình Postfix để chỉ gửi và nhận email từ server nó đang chạy, nghĩa là từ localhost.

Để điều đó xảy ra, bạn cần cấu hình Postfix để chỉ nghe trên loopback interface, giao diện mạng ảo mà server sử dụng để liên lạc nội bộ. Để thực hiện các thay đổi, bạn cần chỉnh sửa file cấu hình Postfix chính có tên là main.cf, được lưu trữ trong etc/postfix.

Mở nó để chỉnh sửa bằng trình soạn thảo của bạn:

sudo nano /etc/postfix/main.cf

Hãy tìm các dòng lệnh sau đây:

/etc/postfix/main.cf
. . .
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
. . .

Đặt giá trị của cài đặt inet_interfaces thành loopback-only:

/etc/postfix/main.cf
. . .
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = loopback-only

Một directive khác mà bạn sẽ cần sửa đổi là mydestination, chỉ định danh sách các domain được gửi qua phương tiện chuyển phát thư local_transport. Theo mặc định, các giá trị tương tự như sau:

/etc/postfix/main.cf
. . .
mydestination = $myhostname, vietnixtest.com, localhost.com, , localhost

Đổi dòng lệnh giống như thế này:

/etc/postfix/main.cf
. . .
mydestination = localhost.$mydomain, localhost, $myhostname

Nếu domain của bạn là một subdomain và bạn muốn các email giống như được gửi từ domain chính, thì bạn có thể thêm dòng sau vào cuối main.cf:

/etc/postfix/main.cf
...
masquerade_domains = vietnixtest.com

Cài đặt masquerade_domains tùy chọn chỉ định các domain mà subdomain sẽ bị xóa trong địa chỉ email.

Khi bạn đã hoàn tất, hãy lưu và đóng file.

Lưu ý: Nếu bạn đang lưu trữ nhiều miền trên một máy chủ, thì các miền khác cũng có thể được chuyển tới Postfix bằng directive mydestination.

Sau đó, khởi động lại Postfix bằng cách chạy lệnh sau:

sudo systemctl restart postfix

Bạn đã cấu hình Postfix để chỉ gửi email từ server của mình. Bây giờ, bạn sẽ kiểm tra nó bằng cách gửi một thông báo mẫu đến một địa chỉ email.

Nếu bạn đang tìm kiếm một giải pháp máy chủ mạnh mẽ, linh hoạt để cài đặt và cấu hình Postfix làm Server SMTP Send-Only trên Ubuntu 20.04, bạn có thể tham khảo dịch vụ VPS của Vietnix.

Vietnix cung cấp đa dạng các gói VPS như VPS Giá rẻ, VPS Phổ Thông, VPS Cao Cấp, VPS NVMe và VPS GPU. Với VPS Vietnix, bạn sẽ có quyền truy cập vào một môi trường máy chủ ảo độc lập, giúp bạn cài đặt và cấu hình Postfix một cách dễ dàng, nhanh chóng.

Truy cập ngay với trang dịch vụ VPS của Vietnix để tìm hiểu thông tin chi tiết và lựa chọn gói phù hợp với nhu cầu.

Bước 3: Thử nghiệm Server SMTP

Trong bước này, bạn sẽ kiểm tra xem Postfix có thể gửi email đến tài khoản email bên ngoài hay không bằng cách sử dụng lệnh mail, đây là một phần của gói mailutils mà bạn đã cài đặt ở bước đầu tiên.

echo "This is the body of the email" | mail -s "This is the subject line" vietnix@email.com

Bạn có thể thay đổi nội dung và chủ đề của email theo ý thích của mình. Hãy nhớ thay vietnix@email.com bằng một địa chỉ email hợp lệ mà bạn có thể truy cập.

Bây giờ, hãy kiểm tra địa chỉ email mà bạn đã gửi tin nhắn này. Bạn sẽ thấy tin nhắn trong hộp thư đến của bạn. Nếu không có, hãy kiểm tra thư mục thư rác của bạn. Thường tại thời điểm này, tất cả các email bạn gửi đều không mã hóa, khiến các nhà cung cấp dịch vụ cho rằng đó có thể là thư rác. Bạn sẽ thiết lập mã hóa sau.

Nếu bạn nhận được lỗi từ lệnh mail hoặc bạn chưa nhận được thư sau một khoảng thời gian dài, hãy kiểm tra xem cấu hình Postfix mà bạn đã chỉnh sửa có hợp lệ không và tên server cũng như tên hostname của bạn đã được đặt theo miền của bạn chưa.

Lưu ý rằng với cấu hình này, địa chỉ trong trường From cho các email kiểm tra bạn gửi sẽ ở dạng your_user_name@vietnixtest.com, trong đó your_user_name là tên người dùng của server người dùng mà bạn đã chạy lệnh.

Bây giờ bạn đã gửi một email từ server của mình và xác minh rằng nó đã được nhận thành công.

Bước 4: Chuyển tiếp System Mail

Trong bước này, bạn sẽ thiết lập chuyển tiếp email cho người dùng root để các thư do hệ thống tạo ra được gửi tới nó trên server của bạn được chuyển tiếp tới một địa chỉ email bên ngoài.

File /etc/aliases chứa danh sách các tên thay thế cho người nhận email. Hãy mở nó để chỉnh sửa:

sudo nano /etc/aliases

Trong trạng thái mặc định sẽ giống như thế này:

/etc/aliases
# See man 5 aliases for format
postmaster:    root

Directive duy nhất hiện diện xác định rằng các email do hệ thống tạo sẽ được gửi tới root.

Hãy thêm dòng sau vào cuối file:

/etc/aliases
...
root:          vietnix@email.com

Với dòng lệnh này, bạn chỉ định rằng các email được gửi đến root sẽ được chuyển tiếp đến một địa chỉ email. Nhớ thay vietnix@email.com bằng địa chỉ email cá nhân của bạn. Khi bạn đã hoàn tất, hãy lưu và đóng file.

Để thay đổi có hiệu lực, hãy chạy lệnh sau:

sudo newaliases

Việc chạy lệnh newaliases sẽ tạo cơ sở dữ liệu về bí danh mà lệnh mail sử dụng, được lấy từ file cấu hình bạn vừa chỉnh sửa.

Kiểm tra xem việc gửi email tới root có hoạt động không bằng cách chạy:

echo "This is the body of the email" | mail -s "This is the subject line" root

Bạn sẽ nhận được email tại địa chỉ email của bạn. Nếu không có ở đó, hãy kiểm tra thư mục thư rác của bạn.

Trong bước này, bạn thiết lập chuyển tiếp thư do hệ thống tạo đến địa chỉ email của mình. Bây giờ, bạn sẽ bật mã hóa thư để tất cả các email mà server của bạn gửi không bị giả mạo trong quá trình chuyển tiếp và sẽ được xem là hợp pháp hơn.

Bước 5: Bật mã hóa SMTP

Bây giờ, bạn sẽ bật mã hóa SMTP bằng cách yêu cầu chứng chỉ TLS miễn phí từ Let’s Encrypt cho miền của bạn (sử dụng Certbot) và định cấu hình Postfix để sử dụng chứng chỉ này khi gửi tin nhắn.

Ubuntu bao gồm Certbot trong repository gói mặc định của họ, vì vậy bạn có thể cài đặt nó bằng cách chạy lệnh sau:

sudo apt install certbot

Khi được yêu cầu xác nhận, hãy nhập Y và nhấn ENTER.

Là một phần của thiết lập server ban đầu trong các điều kiện tiên quyết, bạn đã cài đặt ufw, một tường lửa cơ bản. Người dùng sẽ cần cấu hình nó để cho phép cổng HTTP 80, để có thể hoàn tất quá trình xác minh tên miền. Chạy lệnh sau để kích hoạt nó:

sudo ufw allow 80

Output sẽ trông như thế này:

Output
Rule added
Rule added (v6)

Bây giờ cổng đã mở, hãy chạy Certbot để lấy chứng chỉ:

sudo certbot certonly --standalone --rsa-key-size 4096 --agree-tos --preferred-challenges http -d vietnixtest.com

Lệnh này ra lệnh cho Certbot cấp chứng chỉ có kích thước khóa RSA là 4096 bit, để chạy máy chủ web độc lập tạm thời (--standalone) để xác minh và kiểm tra qua cổng 80 (--preferred-challenges http). Hãy nhớ thay thế vietnixtest.com bằng tên miền của bạn trước khi chạy lệnh và nhập địa chỉ email của bạn khi được nhắc.

Ouput sẽ tương tự như thế này:

Output
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator standalone, Installer None
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for `vietnixtest.com`
Waiting for verification...
Cleaning up challenges

IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at:
 /etc/letsencrypt/live/vietnixtest.com/fullchain.pem
 Your key file has been saved at:
 /etc/letsencrypt/live/vietnixtest.com/privkey.pem
 Your cert will expire on 2020-07-11. To obtain a new or tweaked
 version of this certificate in the future, simply run certbot
 again. To non-interactively renew *all* of your certificates, run
 "certbot renew"
- If you like Certbot, please consider supporting our work by:

 Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
 Donating to EFF:                    https://eff.org/donate-le

Như đã viết trong ghi chú, chứng chỉ và file khóa cá nhân của bạn đã được lưu trong /etc/letsencrypt/live/vietnixtest.com.

Bây giờ bạn đã có chứng chỉ của mình, hãy mở main.cf để chỉnh sửa:

sudo nano /etc/postfix/main.cf

Hãy tìm phần sau đây:

/etc/postfix/main.cf
# TLS parameters
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_tls_security_level=may

smtp_tls_CApath=/etc/ssl/certs
smtp_tls_security_level=may
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache

Sửa đổi nó thành như sau, nhớ thay vietnixtest.com bằng tên miền của bạn nếu cần. Điều này sẽ cập nhật cài đặt TLS của bạn cho Postfix:

/etc/postfix/main.cf
# TLS parameters
smtpd_tls_cert_file=/etc/letsencrypt/live/vietnixtest.com/fullchain.pem
smtpd_tls_key_file=/etc/letsencrypt/live/vietnixtest.com/privkey.pem
smtpd_tls_security_level=may

smtp_tls_CApath=/etc/ssl/certs
smtp_tls_security_level=may
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache

Khi bạn đã hoàn tất, hãy lưu và đóng file. Áp dụng các thay đổi bằng cách khởi động lại Postfix:

sudo systemctl restart postfix

Bây giờ, hãy thử gửi lại email:

echo "This is the body of an encrypted email" | mail -s "This is the subject line" vietnix@email.com

Sau đó, kiểm tra địa chỉ email bạn đã cung cấp. Có thể bạn sẽ thấy thư trong hộp thư đến của mình ngay lập tức vì các nhà cung cấp dịch vụ email có nhiều khả năng đánh dấu các thư không được mã hóa là thư rác.

Bạn có thể kiểm tra thông tin kỹ thuật về thông báo email nơi client của mình để biết rằng thư thực sự được mã hóa.

Vietnix là nhà cung cấp dịch vụ VPS tốc độ cao hàng đầu tại Việt Nam. Nếu bạn đang tìm kiếm một giải pháp VPS cho việc triển khai các dự án, hãy liên hệ trực tiếp với Vietnix.

Với hơn 11 năm kinh nghiệm trong lĩnh vực cung cấp VPS, Vietnix đã trở thành đối tác đáng tin cậy của hơn 50.000 khách hàng. Vietnix sở hữu công nghệ chống DDoS độc quyền tại Việt Nam, giúp bảo vệ hệ thống của bạn khỏi các cuộc tấn công DDoS hiệu quả.

Trong quá trình hoạt động, Vietnix đã kích hoạt hơn hơn 100.000 dịch vụ và đạt được tỷ lệ hài lòng cao với 97% khách hàng đánh giá 5 sao. Đáng chú ý, 89% khách hàng duy trì sử dụng dịch vụ của Vietnix đến thời điểm hiện tại, cho thấy sự tin tưởng và hài lòng từ phía khách hàng.

Vietnix còn nhận được giải thưởng Thương hiệu Việt Nam xuất sắc 2022, giải thưởng này càng khẳng định vị thế của Vietnix trên thị trường.

Thông tin liên hệ:

  • Địa chỉ: 265 Hồng Lạc, Phường 10, Quận Tân Bình, Thành Phố Hồ Chí Minh
  • Hotline: 1800 1093
  • Email: sales@vietnix.com.vn

Lời kết

Bây giờ bạn có một server email chỉ gửi, được hỗ trợ bởi Postfix. Mã hóa tất cả thư gửi đi là bước đầu tiên hiệu quả để các nhà cung cấp dịch vụ email không đánh dấu thư của bạn là thư rác ngay lập tức. Cám ơn bạn đã đọc bài viết về cách cài đặt và cấu hình Postfix làm Server SMTP chỉ gửi trên Ubuntu 20.04. Nếu có điều gì chưa rõ, hãy bình luận bên dưới để được hỗ trợ nhé.

Chia sẻ lên

Theo dõi trên

Logo Google new

Đánh giá

5/5 - (87 bình chọn)

Hưng Nguyễn

Kết nối với mình qua

Icon Quote
Icon Quote
Đăng ký nhận tin
Để không bỏ sót bất kỳ tin tức hoặc chương trình khuyến mãi từ Vietnix

Bình luận

Theo dõi
Thông báo của
guest
0 Comments
Phản hồi nội tuyến
Xem tất cả bình luận