Mục lục

Không có mục lục
Tham gia kênh Telegram của CloudFly để nhận thêm ưu đãi và không bỏ lỡ bất kỳ khuyến mãi nào từ CloudFly

Gửi Email từ Dòng Lệnh Linux

Ngày đăng: 30 tháng 7 năm 2025

Ubuntu

description image

Giới thiệu

Hướng dẫn này giúp bạn gửi email trực tiếp từ terminal Linux bằng các công cụ dòng lệnh như mail, mailx, mutt, mpack, sendmail — đồng thời tương thích với SMTP có xác thực (Gmail, Yahoo). Bạn cũng sẽ biết cách tích hợp trong script Bash để gửi thông báo tự động.

Danh sách công cụ được đề cập

  1. mail
  2. mailx
  3. mutt
  4. mpack
  5. sendmail

1. Sử dụng mail

Cài đặt

  • Trên Debian/Ubuntu:
  sudo apt install mailutils -y
  • Trên CentOS/RHEL:
  yum install mailx

Gửi email đơn giản

echo "Nội dung email" | mail -s "Tiêu đề" [email protected]

Gửi email có đính kèm (mailutils)

mail -s "Tiêu đề" -A /path/to/file.txt [email protected]

Gửi cho nhiều người

echo "Thông báo" | mail -s "Thông báo chung" [email protected] [email protected]

2. Sử dụng mailx

Là phiên bản nâng cao của mail, hỗ trợ cấu hình tốt hơn.

Cài đặt

sudo apt install mailx
# hoặc
yum install mailx

Ví dụ gửi mail

echo "Nội dung chào mừng" | mail -s "Welcome!" [email protected]

3. Sử dụng mutt

Client dòng lệnh mạnh, hỗ trợ MIME, đính kèm file.

Cài đặt

  • Ubuntu/Debian:
 sudo apt install mutt
  • CentOS/RHEL:
  sudo yum install mutt

Gửi mail trống

mutt -s "Subject" [email protected] < /dev/null

Gửi có đính kèm

echo "Báo cáo đính kèm" | mutt -s "Báo cáo" -a /path/to/file.pdf -- [email protected]

4. Sử dụng mpack

Dùng để gửi mail với đính kèm MIME.

Cài đặt

sudo apt install mpack
# hoặc
sudo yum install mpack

Gửi file

mpack -s "Báo cáo quý" /path/to/file.xlsx [email protected]

5. Sử dụng sendmail

Dùng trong hệ thống có MTA, hoặc gửi trực tiếp qua port 25 nội bộ.

Cài đặt

sudo apt install sendmail
# hoặc
sudo yum install sendmail

Gửi mail với sendmail

(
  echo "Subject: Kiểm tra Sendmail"
  echo ""
  echo "Nội dung thư ở đây"
) | sendmail [email protected]

Gửi mail qua SMTP có xác thực (Gmail)

Cài msmtp:

sudo apt install msmtp

Cấu hình ~/.msmtprc:

defaults
auth on
tls on
tls_trust_file /etc/ssl/certs/ca-certificates.crt
logfile ~/.msmtp.log

account gmail
host smtp.gmail.com
port 587
from [email protected]
user [email protected]
password YOUR_APP_PASSWORD

account default : gmail

Gửi email:

echo "Nội dung" | msmtp [email protected]

Gửi mail từ Bash Script

#!/bin/bash
usage=$(df -h / | awk 'NR==2 {print $5}' | tr -d '%')
if [ $usage -gt 90 ]; then
  echo "Disk usage quá cao: $usage%" | mail -s "Cảnh báo ổ đĩa" [email protected]
fi

So sánh công cụ

Công cụ Tính năng chính
mail Gửi email đơn giản, dễ dùng
mailx Chuẩn POSIX, nâng cao hơn mail
mutt Hỗ trợ MIME và đính kèm tốt
mpack Tạo email MIME chuẩn và gửi nhanh
sendmail Dùng trong hệ thống MTA
msmtp SMTP nhẹ, hỗ trợ Gmail/Yahoo

Câu hỏi thường gặp

Làm sao gửi email đơn giản từ terminal?

echo "Hi" | mail -s "Tiêu đề" [email protected]

Làm sao đính kèm tệp?

echo "Có tệp kèm theo" | mutt -s "Tiêu đề" -a file.txt -- [email protected]

Kết luận

Bạn có thể dễ dàng gửi email từ Linux với nhiều công cụ:

  • Gửi nhanh: mail, mailx
  • Gửi đính kèm: mutt, mpack
  • Gửi SMTP Gmail: msmtp
  • Gửi trong nội bộ: sendmail

Tích hợp các công cụ này trong shell script giúp tự động hóa các tác vụ thông báo, giám sát và báo cáo trên hệ thống Linux hiệu quả.

Tham gia kênh Telegram của CloudFly để nhận thêm ưu đãi và không bỏ lỡ bất kỳ khuyến mãi nào từ CloudFly
Chia sẻ

0 câu trả lời