Cách thiết lập một tác nhân thư cho email dòng lệnh – CloudSavvy IT

Yêu cầu máy chủ của bạn gửi email cho bạn là một cách đơn giản để nhận thông báo từ các tập lệnh bash, ứng dụng và công việc định kỳ. Email dòng lệnh hoạt động tương tự như email cá nhân, và dễ dàng cấu hình và sử dụng.

Email dòng lệnh hoạt động như thế nào?

Khi email truyền xuống các ống của Internet, nó thường được gửi qua Giao thức chuyển thư đơn giản hoặc SMTP. Máy chủ xử lý việc gửi thư được gọi là máy chủ SMTP và nhiều nhà cung cấp email miễn phí (Gmail, Yahoo, v.v.) cung cấp máy chủ SMTP miễn phí. Điều này rất tốt cho trường hợp sử dụng này, vì bạn sẽ chỉ cần định cấu hình ứng dụng dòng lệnh thực hiện việc gửi.

Ứng dụng này được gọi là Đại lý chuyển thư (MTA) và xử lý giao tiếp với máy chủ SMTP. Bạn cần phải xác thực MTA với máy chủ SMTP, thường đơn giản như cung cấp cho nó mật khẩu hoặc khóa của bạn. Sau đó, MTA sẽ có thể hoạt động như bạn và gửi email từ tài khoản của bạn.

Nếu bạn có kế hoạch gửi email cho người dùng cuối, bạn sẽ cần phải định cấu hình thêm thông tin với nhà cung cấp dịch vụ SMTP của mình. Điều này thường có nghĩa là xác minh tên miền của bạn bằng xác thực DKIM và SPF, điều này chứng tỏ bạn sở hữu tên miền và aren giả mạo địa chỉ của bạn. Bạn có thể làm điều này với Gmail, nhưng nếu bạn đang gửi rất nhiều email, bạn nên sử dụng một giải pháp kinh doanh như Amazon SES.

Cách cài đặt và cấu hình Postfix

Giải pháp đơn giản nhất cho email dòng lệnh là sử dụng Postfix làm MTA, sử dụng máy chủ SMTP miễn phí như Gmail. Gmail bị giới hạn tỷ lệ ở 100 email mỗi ngày, có thể đủ cho các thông báo email đơn giản. Nếu bạn cần nhiều hơn thế, bạn có thể sử dụng Amazon SES hoặc là SendGrid, cả hai nên là sự thay thế thả xuống cho máy chủ Gmail Gmail SMTP trong ví dụ này.

Postfix cũng có thể chạy máy chủ SMTP của riêng mình, nhưng nó có thể cấu hình khó hơn và ít tương thích hơn với người nhận bên ngoài trừ khi bạn định cấu hình xác minh tên miền.

Cài đặt Postfix và libsasl2-mô-đun, một gói để quản lý xác thực SMTP, từ trình quản lý gói distro của bạn. Đối với các hệ thống dựa trên Debian như Ubuntu, đó sẽ là:

sudo apt-get cài đặt postfix libsasl2-mô-đun

Khi Postfix cài đặt, nó sẽ nhắc bạn cấu hình. Ở màn hình đầu tiên, hãy chọn Trang web Internet của Internet, đó sẽ cấu hình Postfix để sử dụng SMTP.

Lời nhắc tiếp theo sẽ hỏi tên miền của bạn. Bạn không cần một tên miền để sử dụng Postfix, nhưng bạn sẽ cần một tên miền để gửi email từ tên miền đó. Trong ví dụ này, không chỉ định tên miền, email của bạn sẽ đến từ tài khoản Gmail bạn đã định cấu hình cho Postfix.

Tiếp theo, bạn sẽ cần xác thực Postfix. Bạn có thể sử dụng tài khoản Gmail của bạn Mật khẩu Gmail, sẽ rất tốt nếu bạn tạo một tài khoản mới chỉ cho Postfix, nhưng nếu bạn sử dụng tài khoản cá nhân của mình, bạn sẽ muốn tạo một tài khoản mật khẩu ứng dụng. Bằng cách này, mật khẩu có thể bị thu hồi bất cứ lúc nào. Lưu ý rằng bạn sẽ cần bật xác thực hai yếu tố để sử dụng mật khẩu ứng dụng.

Postfix lưu trữ chi tiết xác thực trong / etc / postfix / sasl / sasl_passwd. Tệp này có thể không có ở đó theo mặc định, vì vậy bạn có thể phải tạo nó bằng cảm ứng. Mở nó lên và dán thông tin của bạn vào:

[smtp.gmail.com]: 587 tên người dùng @ gmail: mật khẩu

Điều này cấu hình Postfix để sử dụng máy chủ Google Google SMTP và xác thực với các chi tiết của bạn.

Tiếp theo, chạy postmap trên sasl_passwd:

sơ đồ sudo / etc / postfix / sasl_passwd

Điều này sẽ tạo ra một tệp sasl_passwd.db được Postfix sử dụng. Cả hai tệp này đều lưu mật khẩu ứng dụng của bạn trong bản rõ, vì vậy bạn sẽ muốn hạn chế chúng để root bằng cách chạy chown và chmod:

sudo chown root: root / etc / postfix / sasl_passwd /etc/postfix/sasl_passwd.db
sudo chmod 600 / etc / postfix / sasl_passwd /etc/postfix/sasl_passwd.db

Bây giờ Postfix đã sẵn sàng hoạt động, nhưng bạn sẽ cần phải cấu hình tệp cấu hình chính của Postfix, để sử dụng chuyển tiếp SMTP và thông tin đăng nhập SASL của bạn. Mở /etc/postfix/main.cf trong trình soạn thảo văn bản yêu thích của bạn và tìm tùy chọn chuyển tiếp trực tuyến. Thay đổi điều này để sử dụng máy chủ Gmail Gmail Gmail:

chuyển tiếp = [smtp.gmail.com]: 587

Sau đó, ở cuối tệp, thêm các dòng sau để định cấu hình SASL và sử dụng tệp mật khẩu của bạn.

# kích hoạt xác thực SASL
smtp_sasl_auth_enable = có
# không cho phép các phương thức cho phép xác thực ẩn danh.
smtp_sasl_security_options = noanonymous
# nơi tìm sasl_passwd
smtp_sasl_password_maps = hash: / etc / postfix / sasl_passwd
# Kích hoạt mã hóa STARTTLS
smtp_use_tls = có
# nơi tìm chứng chỉ CA
smtp_tls_CAfile = /etc/ssl/certs/ca-certert.crt

Lưu tệp này, sau đó khởi động lại Postfix với systemctl:

sudo systemctl khởi động lại postfix

Postfix bây giờ sẽ được cấu hình đầy đủ và được đặt làm trình xử lý thư mặc định trên hệ thống của bạn. Bạn có thể kiểm tra nó bằng lệnh sendmail riêng của Postfix

sendmail receive @ gmail
TỪ: youremail @ gmail
CHỦ ĐỀ: Xin chào từ máy chủ của bạn!
Đây là một email kiểm tra được gửi từ máy chủ của bạn bằng Postfix.
.

Kiểm tra hộp thư đến của bạn (hoặc hộp thư đi) và bạn sẽ thấy một email mới. Bạn có thể chạy sudo tail -f /var/log/mail.log (hoặc mail.err) để kiểm tra nhật ký thư.

Postfix sẽ tự cấu hình làm trình xử lý thư mặc định của máy chủ của bạn. Bất kỳ ứng dụng hoặc chương trình nào cần thực hiện gửi email bây giờ nên sử dụng Postfix theo mặc định, chẳng hạn như PHP (sử dụng mailmail Postfix). Một số có thể cần cấu hình bổ sung, thường chỉ yêu cầu ứng dụng sử dụng Postfix.

Nếu bạn không muốn sử dụng sendmail (vì nó hơi rắc rối), bạn có thể cài đặt một ứng dụng thư khác. Một máy khách tốt là mutt, hỗ trợ gửi tệp dưới dạng tệp đính kèm và sẽ sử dụng Postfix theo mặc định. Cú pháp gửi đơn giản là:

tiếng vang “nội dung email” | mutt -s “chủ đề email” receive @ gmail

Và để đính kèm tập tin, bạn sẽ cần tách các giá trị cờ -a từ người nhận bằng một dấu gạch ngang kép – Hồi:

tiếng vang “nội dung email” | mutt -s “chủ đề email” -a / path / to / file – [email protected]

Cái nào sẽ hiển thị trong hộp thư đến của bạn với tệp được đính kèm, giả sử nó không đạt bất kỳ giới hạn kích thước tệp nào do máy chủ SMTP áp đặt:

Cho dù bạn chọn ứng dụng thư nào, bất kỳ ứng dụng thư nào cũng có thể sử dụng được trong các tập lệnh shell, công việc cron và bất kỳ nơi nào khác bạn có thể định cấu hình để chạy các lệnh Unix.



Nguồn HowToGeek

Chúng tôi rất vui khi biết đánh giá của bạn

Leave a reply

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

GiaTot7
Logo
Reset Password