Nếu bạn có một tài khoản Gmail, bạn có thể cấu hình MTA (Mail Transfer Agent) để chuyển tiếp các thư gửi đi thông qua Gmail. Điều này mang lại cho bạn những lợi ích về độ tin cậy và mạnh mẽ của Gmail Trong hướng dẫn này, chúng tôi sẽ sử dụng Postfix như là MTA của chúng tôi. Postfix là một mã nguồn mở, miễn phí, dễ quản lý, nhanh, an toàn về bảo mật. Nó được dùng để gửi thư điện tử, được tạo ra ban đầu tại IBM với mục tiêu là thay thế chương trình gửi mail phổ biến là Sendmail. Tại mỗi bước, chúng tôi sẽ bao gồm các hướng dẫn cụ thể cho các hệ điều hành sau: Debian 8 Ubuntu 15.10 CentOS 7 OpenSUSE 13.2 Arch Linux 2016/02/01 FreeBSD 10,2 Chúng tôi cũng sẽ cài đặt mailutils/mailx để chúng tôi có thể gửi một email thử nghiệm. Trường hợp cần thiết, chúng tôi sẽ cài đặt các thư viện SASL bổ sung. 1. Cài đặt phần mềm yêu cầu Debian, Ubuntu: Mã: apt-get update && apt-get install postfix mailutils Khi được nhắc nhở cho "General type of mail configuration", chọn Internet Site. Khi được nhắc nhở cho một "Mail name", chọn một hostname sẽ được sử dụng trong tiêu đề mail như là nguồn gốc của các email của bạn. Bạn có thể được nhắc để thiết lập "Root and postmaster mail recipient." Nhập user root, hoặc user khác sẽ nhận được các thông báo tử hệ thống mail. Đối với bất kỳ nhắc nhở khác, bạn có thể chọn các giá trị mặc định. Fedora: Mã: dnf update && dnf install postfix mailx CentOS: Mã: yum update && yum install postfix mailx cyrus-sasl cyrus-sasl-plain OpenSUSE: Mã: zypper update && zypper install postfix mailx cyrus-sasl Arch Linux: Mã: pacman -Sy postfix mailutils FreeBSD: Biên dịch Postfix từ port collection để kết hợp hỗ trợ SASL: Mã: portsnap fetch extract update Mã: cd /usr/ports/mail/postfix Mã: make config Trong hộp thoại cấu hình, chọn hỗ trợ SASL. Tất cả các tùy chọn khác có thể vẫn như cũ. Sau đó: Mã: make install clean Mailx có thể được cài đặt các gói binary: Mã: pkg install mailx 2. Cấu hình xác thực gmail Tạo hoặc sửa đổi một tập tin mật khẩu sẽ được sử dụng bởi Postfix để thiết lập xác thực với Gmail. Trong thông tin xác thực dưới đây, thay thế tên người dùng với tên người dùng Gmail của bạn và mật khẩu với mật khẩu Gmail của bạn. Các tập tin mật khẩu sẽ nằm trong thư mục cấu hình Postfix. Các tập tin có thể được đặt tên là bất cứ điều gì bạn muốn, nhưng tên tập tin được khuyến cáo là sasl_passwd. Debian, Ubuntu, Fedora, CentOS, OpenSUSE, Arch Linux: Tập tin cấu hình Postfix nằm trong thư mục /etc/postfix. Tạo hoặc chỉnh sửa tập tin mật khẩu: Mã: vi /etc/postfix/sasl_passwd Thêm dòng: Mã: [smtp.gmail.com]:587 username@gmail.com:password Lưu lại và đóng tập tin. Mật khẩu Gmail của bạn được lưu trữ như là plaintext, do đó làm cho tập tin mật khẩu chỉ được truy cập bởi root: Mã: chmod 600 /etc/postfix/sasl_passwd FreeBSD: Tập tin cấu hình Postfix nằm trong thư mục /usr/local/etc/postfix. Tạo hoặc chỉnh sửa tập tin mật khẩu: Mã: vi /usr/local/etc/postfix/sasl_passwd Thêm dòng: Mã: [smtp.gmail.com]:587 username@gmail.com:password Lưu lại và đóng tập tin. Làm cho nó chỉ được truy cập bởi root: Mã: chmod 600 /usr/local/etc/postfix/sasl_passwd 3. Cấu hình Postfix Có sáu thông số phải được đặt trong tập tin cấu hình Postfix main.cf. Các thông số là: relayhost, xác định host và số cổng mail relay. Tên hostname sẽ được kèm theo trong dấu ngoặc để chỉ định không tra cứu MX là bắt buộc. smtp_use_tls, cho phép (hoặc vô hiệu hóa) an ninh lớp transport. smtp_sasl_auth_enable, cho phép (hoặc vô hiệu hóa) xác thực SASL. smtp_sasl_security_options, trong các cấu hình sau đây sẽ được thiết lập để trống, để đảm bảo rằng không có tùy chọn bảo mật Gmail-incompatible được sử dụng. smtp_sasl_password_maps, trong đó xác định tập tin mật khẩu để sử dụng. Tập tin này sẽ được biên dịch và băm bởi postmap ở bước sau. smtp_tls_CAfile, trong đó quy định cụ thể danh sách các chứng nhận để sử dụng khi xác minh danh tính của hostname. Debian, Ubuntu, Arch Linux: Chỉnh sửa tập tin cấu hình chính Postfix: Mã: vi /etc/postfix/main.cf Thêm hoặc sửa đổi các giá trị sau: Mã: relayhost = [smtp.gmail.com]: 587 smtp_use_tls = yes smtp_sasl_auth_enable = yes smtp_sasl_security_options = smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt Lưu lại và đóng tập tin. Fedora, CentOS: Chỉnh sửa tập tin cấu hình chính Postfix: Mã: vi /etc/postfix/main.cf Thêm hoặc sửa đổi các giá trị sau: Mã: relayhost = [smtp.gmail.com]: 587 smtp_use_tls = yes smtp_sasl_auth_enable = yes smtp_sasl_security_options = smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd smtp_tls_CAfile = /etc/ssl/certs/ca-bundle.crt Lưu lại và đóng tập tin. OpenSUSE: Chỉnh sửa tập tin cấu hình chính Postfix: Mã: vi /etc/postfix/main.cf Thêm hoặc sửa đổi các giá trị sau: Mã: relayhost = [smtp.gmail.com]:587 smtp_use_tls = yes smtp_sasl_auth_enable = yes smtp_sasl_security_options = smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd smtp_tls_CAfile = /etc/ssl/ca-bundle.pem Lưu lại và đóng tập tin. OpenSUSE còn yêu cầu tập tin cấu hình master.cf phải được sửa đổi. Mở nó ra để chỉnh sửa: Mã: vi /etc/postfix/master.cf Xác định vị trí dòng cần sửa: Mã: #tlsmgr unix - - n 1000? 1 tlsmg Uncomment dòng đó Mã: tlsmgr unix - - n 1000? 1 tlsmg Lưu lại và đóng tập tin. FreeBSD: Chỉnh sửa tập tin cấu hình chính Postfix: Mã: vi /usr/local/etc/postfix/main.cf Thêm hoặc sửa đổi các giá trị sau: Mã: relayhost = [smtp.gmail.com]:587 smtp_use_tls = yes smtp_sasl_auth_enable = yes smtp_sasl_security_options = smtp_sasl_password_maps = hash:/usr/local/etc/postfix/sasl_passwd smtp_tls_CAfile = /etc/mail/certs/cacert.pem Lưu lại và đóng tập tin. 4. Xử lý tập tin mật khẩu Sử dụng postmap để biên dịch và băm các nội dung của sasl_passwd. Kết quả sẽ được lưu trữ trong thư mục cấu hình Postfix của bạn trong tập tin sasl_passwd.db. Debian, Ubuntu, Fedora, CentOS, OpenSUSE, Arch Linux: Mã: postmap /etc/postfix/sasl_passwd FreeBSD: Mã: postmap /usr/local/etc/postfix/sasl_passwd 5. Khởi động lại Postfix Khởi động lại dịch vụ Postfix, để các thay đổi có hiệu lực. Debian, Ubuntu, Fedora, CentOS, OpenSUSE, Arch Linux: Mã: systemctl restart postfix.service FreeBSD: Để khởi động dịch vụ Postfix trong chỉ duy nhất một session: Mã: service postfix onestart Để khởi động Postfix tự động khi hệ thống mở lên, mở tập tin /etc/rc.conf để chỉnh sửa: Mã: vi /etc/rc.conf Thêm dòng: Mã: postfix_enable = YES Lưu lại và đóng tập tin. Sau đó bạn có thể chạy: Mã: service postfix start Để khởi động Postfix. 6. Kích hoạt tính năng "Less Secure Apps"" trong Gmail Theo mặc định, chỉ có một đăng nhập an toàn nhất, chẳng hạn như đăng nhập vào Gmail trên web, được phép cho tài khoản Gmail của bạn. Để cho phép các relay request, đăng nhập vào tài khoản Gmail của bạn và bật tính năng Allow less secure apps. Để biết thêm thông tin, xem xét các tài liệu hỗ trợ của Google "Allowing less secure apps to access your account." 7. Gửi một email thử nghiệm Kiểm tra cấu hình mới của bạn bằng cách gửi thư điện tử bằng cách sử dụng lệnh mail. Chạy: Mã: mail -s "Test subject" recipient@domain.com Bạn sẽ được trình bày với một dòng trống (hoặc CC: field, trong đó bạn có thể bỏ qua bằng cách nhấn Enter). Gõ nội dung tin nhắn của bạn sau đó nhấn vào phím Enter cho các dòng mới. Khi bạn đang soạn xong email, nhấn Ctrl-D để gửi nó. Để hủy các email, nhấn Ctrl-C hai lần. Để gửi một email precomposed, sử dụng lệnh: Mã: mail -s "Subject Here" recipient@domain.com < textfile Trường textfile là tên của một tập tin chứa văn bản được gửi đi. Xử lý sự cố Nếu các cấu hình không làm việc, kiểm tra các bản log cho bất kỳ lỗi nào Postfix: Debian: Mã: less /var/log/mail.log Ubuntu, Fedora, CentOS, OpenSUSE, Arch Linux: Mã: journalctl FreeBSD: Mã: less /var/log/maillog Nếu bạn nhận được lỗi xác thực từ Gmail, xác minh rằng Allow Less Secure Apps đã được bật trong cài đặt tài khoản Gmail của bạn, như quy định trong bước 6. Xác minh rằng tập tin mật khẩu sasl_passwd tồn tại, và nội dung của nó được định dạng chính xác, theo quy định ở bước 2. Nếu bạn thực hiện bất kỳ thay đổi trong tập tin mật khẩu, hãy chắc chắn lặp lại bước 4 và 5 để băm tập tin mật khẩu mới và khởi động lại Postfix. Nếu bạn thấy bất kỳ lỗi TLS, kiểm tra lại cấu hình trong main.cf như quy định trong bước 3. Nếu bạn thực hiện bất kỳ thay đổi cấu hình, khởi động lại Postfix như quy định trong bước 5.