Posted on: 9 tháng 10 năm 2023
Postfix là MTA (Mail Transfer Agent), một ứng dụng dùng để gửi và nhận email. Trong hướng dẫn này, chúng tôi sẽ cài đặt và định cấu hình Postfix để nó chỉ có thể được sử dụng để gửi email bởi các ứng dụng cục bộ - nghĩa là những ứng dụng được cài đặt trên cùng một máy chủ mà Postfix được cài đặt trên đó.
Nếu bạn đang sử dụng nhà cung cấp email bên thứ ba để gửi và nhận email thì tất nhiên bạn không cần phải chạy máy chủ thư của riêng mình. Tuy nhiên, nếu bạn quản lý máy chủ đám mây nơi bạn đã cài đặt các ứng dụng cần gửi thông báo email thì việc chạy máy chủ SMTP cục bộ, chỉ gửi (send-only) là một giải pháp thay thế tốt cho việc sử dụng nhà cung cấp dịch vụ email bên thứ ba hoặc chạy máy chủ SMTP toàn diện.
Một ví dụ về ứng dụng gửi thông báo qua email là OSSEC, ứng dụng này sẽ gửi thông báo qua email đến bất kỳ địa chỉ email nào được định cấu hình (xem Cách cài đặt và định cấu hình thông báo bảo mật OSSEC trên Ubuntu 14.04). Mặc dù OSSEC hoặc bất kỳ ứng dụng nào khác thuộc loại này có thể sử dụng máy chủ SMTP của nhà cung cấp email bên thứ ba để gửi thông báo qua email, nhưng nó cũng có thể sử dụng máy chủ SMTP cục bộ (chỉ gửi).
Đó là những gì bạn sẽ học cách thực hiện trong hướng dẫn này: cách cài đặt và định cấu hình Postfix làm máy chủ SMTP chỉ gửi.
Lưu ý: Nếu trường hợp sử dụng của bạn là nhận thông báo từ máy chủ tại một địa chỉ duy nhất thì việc email bị đánh dấu là thư rác không phải là vấn đề nghiêm trọng vì bạn có thể đưa chúng vào danh sách trắng.
Nếu trường hợp sử dụng của bạn là gửi email đến người dùng trang web tiềm năng, chẳng hạn như email xác nhận đăng ký bảng tin, bạn nên thực hiện Bước 5 để email trên máy chủ của bạn có nhiều khả năng được coi là hợp pháp hơn. Nếu bạn vẫn gặp sự cố với việc email trên máy chủ của mình bị đánh dấu là thư rác, bạn sẽ cần phải tự mình khắc phục sự cố thêm.
Vui lòng hoàn thành các điều kiện tiên quyết sau đây.
sudo
hostname
tại dấu nhắc lệnh. Đầu ra phải khớp với tên bạn đã đặt cho Droplet khi nó được tạo, chẳng hạn như example.com.Nếu tất cả các điều kiện tiên quyết đã được đáp ứng thì bây giờ bạn đã sẵn sàng cho bước đầu tiên của hướng dẫn này.
Trong bước này, bạn sẽ tìm hiểu cách cài đặt Postfix. Cách hiệu quả nhất để cài đặt Postfix và các chương trình khác cần thiết cho việc kiểm tra email là cài đặt gói mailutils
bằng cách gõ:
- sudo apt-get install mailutils
Việc cài đặt mailtuils cũng sẽ khiến Postfix được cài đặt, cũng như một số chương trình khác cần thiết để Postfix hoạt động. Sau khi gõ lệnh đó, bạn sẽ thấy kết quả đầu ra có nội dung như:
OutputThe following NEW packages will be installed:
guile-2.0-libs libgsasl7 libkyotocabinet16 libltdl7 liblzo2-2 libmailutils4 libmysqlclient18 libntlm0 libunistring0 mailutils mailutils-common mysql-common postfix ssl-cert
0 upgraded, 14 newly installed, 0 to remove and 3 not upgraded.
Need to get 5,481 kB of archives.
After this operation, 26.9 MB of additional disk space will be used.
Do you want to continue? [Y/n]
Nhấn ENTER để cài đặt chúng. Gần cuối quá trình cài đặt, bạn sẽ thấy một cửa sổ trông giống hệt cửa sổ trong hình bên dưới. Tùy chọn mặc định là Internet Site. Đó là tùy chọn được đề xuất cho hướng dẫn này, vì vậy hãy nhấn TAB rồi ENTER.
Sau đó, bạn sẽ nhận được một cửa sổ khác giống như cửa sổ trong hình ảnh tiếp theo. System mail name phải giống với tên bạn đã gán cho Droplet khi tạo nó. Nếu nó hiển thị tên miền phụ như mars.example.com, hãy thay đổi nó thành example.com. Khi bạn hoàn tất, nhấn TAB, sau đó ENTER.
Sau khi cài đặt hoàn tất thành công, hãy chuyển sang Bước 2.
Trong bước này, bạn sẽ đọc cách định cấu hình Postfix để xử lý các yêu cầu chỉ gửi email từ máy chủ mà nó đang chạy, tức là từ localhost. Để điều đó xảy ra, Postfix cần được cấu hình để chỉ nghe trên loopback interface, giao diện mạng ảo mà máy chủ sử dụng để liên lạc nội bộ. Để thực hiện thay đổi, hãy mở tệp cấu hình Postfix chính bằng trình chỉnh sửa nano
.
- sudo nano /etc/postfix/main.cf
Khi tệp đang mở, hãy cuộn xuống cho đến khi bạn thấy các mục được hiển thị trong khối mã này.
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
Thay đổi dòng inet_interfaces = all
thành inet_interfaces = loopback-only
. Khi bạn hoàn tất, phần tương tự của tệp sẽ có nội dung:
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = loopback-only
Thay vì dùng loopback-only
, bạn cũng có thể sử dụng localhost
để phần được sửa đổi cũng có thể đọc:
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = localhost
Khi bạn chỉnh sửa xong tệp, hãy lưu và đóng tệp (nhấn CTRL+X
, sau đó nhấn Y
, rồi ENTER
). Sau đó, khởi động lại Postfix bằng cách gõ:
- sudo service postfix restart
Trong bước này, bạn sẽ đọc cách kiểm tra xem Postfix có thể gửi email đến bất kỳ tài khoản email bên ngoài nào hay không. Bạn sẽ sử dụng lệnh mail
, một phần của gói mailutils
đã được cài đặt ở Bước 1.
Để gửi email kiểm tra, hãy nhập:
- echo "This is the body of the email" | mail -s "This is the subject line" user@example.com
Khi thực hiện (các) bài kiểm tra của riêng mình, bạn có thể sử dụng nguyên văn nội dung và dòng chủ đề hoặc thay đổi chúng theo ý thích của bạn. Tuy nhiên, thay cho user@example.com, hãy sử dụng địa chỉ email hợp lệ, trong đó phần tên miền có thể là gmail.com, fastmail.com, yahoo.com hoặc bất kỳ nhà cung cấp dịch vụ email nào khác mà bạn sử dụng.
Bây giờ hãy kiểm tra địa chỉ email nơi bạn đã gửi tin nhắn kiểm tra.
Bạn sẽ thấy tin nhắn trong hộp thư đến của mình. Nếu không, hãy kiểm tra thư mục thư rác của bạn.
Lưu ý: Với cấu hình này, địa chỉ trong trường From cho email kiểm tra bạn gửi sẽ là **sammy@example.com**, trong đó sammy là tên người dùng Linux của bạn và phần miền là hostname của máy chủ. Nếu bạn thay đổi tên người dùng của mình, địa chỉ From cũng sẽ thay đổi.
Điều cuối cùng chúng tôi muốn thiết lập là chuyển tiếp, để bạn có thể nhận được email được gửi đến root trên hệ thống tại địa chỉ email cá nhân, bên ngoài của mình.
Để định cấu hình Postfix mà các email do hệ thống tạo sẽ được gửi đến địa chỉ email của bạn, bạn cần chỉnh sửa tệp /etc/aliases
.
- sudo nano /etc/aliases
Nội dung đầy đủ của tệp trên bản cài đặt mặc định của Ubuntu 14.04 được hiển thị trong khối mã này:
# See man 5 aliases for format
postmaster: root
Với cài đặt đó, các email do hệ thống tạo sẽ được gửi đến người dùng root. Những gì bạn muốn làm là chỉnh sửa nó để những email đó được định tuyến lại đến địa chỉ email của bạn. Để thực hiện điều đó, hãy chỉnh sửa tệp để nó có nội dung:
# See man 5 aliases for format
postmaster: root
root: sammy@example.com
Thay thế sammy@example.com bằng địa chỉ email cá nhân của bạn. Khi hoàn tất, hãy lưu và đóng tập tin. Để thay đổi có hiệu lực, hãy chạy lệnh sau:
- sudo newaliases
Bây giờ bạn có thể kiểm tra xem nó có hoạt động hay không bằng cách gửi email đến tài khoản root bằng cách sử dụng:
- 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, hãy kiểm tra thư mục thư rác của bạn.
Ở bước này, bạn sẽ được cung cấp các liên kết đến các bài viết để giúp bạn bảo vệ miền của mình khỏi bị sử dụng để gửi thư rác. Đây là bước tùy chọn nhưng được khuyến nghị cao vì nếu được định cấu hình chính xác, điều này sẽ gây khó khăn cho việc gửi thư rác có địa chỉ có vẻ như bắt nguồn từ miền của bạn.
Thực hiện các bước cấu hình bổ sung này cũng sẽ giúp các nhà cung cấp dịch vụ thư thông thường có nhiều khả năng coi email từ máy chủ của bạn là hợp pháp, hơn là đánh dấu chúng là thư rác.