---
title: "Gửi Email từ Dòng Lệnh Linux"
description: "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."
url: https://cloudfly.vn/gui-email-tu-dong-lenh-linux
image: https://media.cloudfly.vn/posts/gui-email-bang-dong-lenh-linux.png
---

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

![description image](https://media.cloudfly.vn/posts/gui-email-bang-dong-lenh-linux.png)

## 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:
```bash
  sudo apt install mailutils -y
  ```

- Trên CentOS/RHEL:
```bash
  yum install mailx
  ```

### Gửi email đơn giản

```bash
echo "Nội dung email" | mail -s "Tiêu đề" user@example.com
```

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

```bash
mail -s "Tiêu đề" -A /path/to/file.txt user@example.com
```

### Gửi cho nhiều người

```bash
echo "Thông báo" | mail -s "Thông báo chung" user1@example.com user2@example.com
```

---

## 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

```bash
sudo apt install mailx
# hoặc
yum install mailx
```

### Ví dụ gửi mail

```bash
echo "Nội dung chào mừng" | mail -s "Welcome!" user@example.com
```

---

## 3. Sử dụng `mutt`

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

### Cài đặt

- Ubuntu/Debian:
 ```bash
  sudo apt install mutt
  ```

- CentOS/RHEL:
```bash
  sudo yum install mutt
  ```

### Gửi mail trống

```bash
mutt -s "Subject" user@example.com < /dev/null
```

### Gửi có đính kèm

```bash
echo "Báo cáo đính kèm" | mutt -s "Báo cáo" -a /path/to/file.pdf -- user@example.com
```

---

## 4. Sử dụng `mpack`

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

### Cài đặt

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

### Gửi file

```bash
mpack -s "Báo cáo quý" /path/to/file.xlsx user@example.com
```

---

## 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

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

### Gửi mail với sendmail

```bash
(
  echo "Subject: Kiểm tra Sendmail"
  echo ""
  echo "Nội dung thư ở đây"
) | sendmail user@example.com
```

---

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

Cài `msmtp`:
```bash
sudo apt install msmtp
```

Cấu hình `~/.msmtprc`:

```conf
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 yourname@gmail.com
user yourname@gmail.com
password YOUR_APP_PASSWORD

account default : gmail
```

Gửi email:

```bash
echo "Nội dung" | msmtp user@example.com
```

---

## Gửi mail từ Bash Script

```bash
#!/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" admin@example.com
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?

```bash
echo "Hi" | mail -s "Tiêu đề" user@example.com
```

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

```bash
echo "Có tệp kèm theo" | mutt -s "Tiêu đề" -a file.txt -- user@example.com
```

---

## 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ả.
