Saturday, January 18, 2025

Linux mail Command

-

Lệnh mail trong Linux là một công cụ dòng lệnh cho phép gửi và nhận email trên máy chủ Linux. Nó được sử dụng để gửi email từ máy chủ của bạn đến các tài khoản email khác hoặc nhận email từ tài khoản email khác.

Để sử dụng lệnh mail, bạn cần cài đặt một máy chủ email trên máy tính của mình hoặc kết nối với một máy chủ email khác thông qua giao thức SMTP.

Một số tùy chọn phổ biến trong lệnh mail bao gồm:

  • -s: Chủ đề của email
  • -a: Đính kèm file đính kèm vào email
  • -c: Sao chép email đến địa chỉ email khác
  • -b: Gửi email đến địa chỉ email ẩn
  • -q: Thoát khỏi lệnh mail mà không gửi email

Gửi email bằng lệnh

Để gửi email từ địa chỉ của bạn đến địa chỉ email của người dùng khác, bạn có thể sử dụng câu lệnh sau:

echo "Nội dung email" | mail -s "Chủ đề email" user@example.com

Trong đó, “Nội dung email” là nội dung email bạn muốn gửi, “Chủ đề email” là chủ đề của email, và “user@example.com” là địa chỉ email của người nhận.

Thêm nhiều người nhận

Thêm nhiều người nhận trong lệnh mail trên Linux có thể thực hiện bằng cách thêm nhiều địa chỉ email ngăn cách nhau bằng dấu phẩy. Ví dụ:

mail -s "Test Email" user1@example.com,user2@example.com

Lệnh trên sẽ gửi email có tiêu đề “Test Email” đến hai địa chỉ email user1@example.comuser2@example.com. Nếu muốn thêm nhiều hơn hai địa chỉ email, ta chỉ cần thêm vào danh sách sau dấu phẩy.

Chỉ định tên và địa chỉ của người gửi

Trong Linux mail command, để chỉ định tên và địa chỉ của người gửi, bạn sử dụng tham số “-a” để thêm một dòng “From:” vào phần đầu của thư. Cú pháp sử dụng như sau:

echo "Nội dung thư" | mail -s "Tiêu đề thư" -a "From: Tên Người Gửi <dia_chi_nguoi_gui>" recipient@example.com

Ví dụ: Nếu bạn muốn gửi thư từ tên “John Doe” và địa chỉ email “johndoe@example.com” tới địa chỉ email “recipient@example.com” với tiêu đề là “Test mail”, lệnh sẽ là:

echo "Đây là nội dung của email" | mail -s "Test mail" -a "From: John Doe <johndoe@example.com>" recipient@example.com

CC và BCC

Trong thư điện tử, CC và BCC là hai loại địa chỉ email được sử dụng để gửi bản sao của thư tới các người nhận khác nhau.

  • CC (Carbon Copy) là địa chỉ email của những người mà bạn muốn gửi bản sao thư tới. Khi bạn thêm địa chỉ email vào CC, các người nhận sẽ biết rằng thư đã được gửi đến một số người khác và họ có thể xem nội dung của thư. Điều này có thể hữu ích khi bạn muốn nhiều người được thông báo về một thông tin cụ thể.
  • BCC (Blind Carbon Copy) là địa chỉ email của những người mà bạn muốn gửi bản sao thư tới, nhưng các người nhận khác không thể thấy địa chỉ email này. Điều này làm cho BCC là một công cụ hữu ích để giữ sự riêng tư của những người được gửi thư. Khi gửi email với BCC, chỉ có người nhận được liệt kê trong phần “To” mới nhận được thư, trong khi những người được liệt kê trong phần BCC không thấy được những địa chỉ email khác.

Ví dụ: Để gửi một thư đến Alice và Bob và Carbon Copy tới Charlie và David và Blind Carbon Copy tới Emily và Frank, ta có thể sử dụng câu lệnh sau trong lệnh mail trên Linux:

mail -s "Subject" -c charlie@example.com,david@example.com -b emily@example.com,frank@example.com alice@example.com,bob@example.com

Trong ví dụ này, “-c” được sử dụng để thêm địa chỉ email của Charlie và David vào CC, “-b” được sử dụng để thêm địa chỉ email của Emily và Frank vào BCC.

Lấy nội dung thư từ một file

Trong mail command của Linux, bạn có thể lấy nội dung thư từ một file bằng cách sử dụng lệnh mail -s <subject> <recipient> < <filename>. Đây là cách đọc nội dung email từ một file thay vì nhập nội dung trực tiếp trong command line.

Trong đó, subject là tiêu đề của email, recipient là địa chỉ email của người nhận và filename là tên file chứa nội dung email. Bạn cũng có thể thêm các tùy chọn khác như CC, BCC, thay đổi địa chỉ email của người gửi và nhiều hơn nữa.

Ví dụ: Bạn có một file chứa email nội dung và bạn muốn đọc nội dung đó bằng lệnh mail. Đầu tiên, bạn cần tạo file có nội dung email như sau:

To: recipient@example.com
From: sender@example.com
Subject: Test email

This is a test email.

Lưu nội dung email vào file testmail và sử dụng lệnh mail -f testmail để đọc nội dung email đó. Bạn sẽ thấy email được hiển thị trên màn hình và bạn có thể sử dụng các tùy chọn trong lệnh mail để thao tác với email đó.

Chỉ định nội dung thư trong một dòng

Khi sử dụng lệnh mail trên Linux để gửi email, ta có thể chỉ định nội dung thư trong một dòng bằng cách sử dụng tùy chọn -s và cho phép nhập nội dung từ bàn phím bằng cách sử dụng << sau đó là dấu EOF (End Of File).

Cú pháp:

echo "nội dung email" | mail -s "Tiêu đề email" địa_chỉ_email

Ví dụ:

echo "Đây là nội dung email gửi từ Linux server" | mail -s "Test mail" user@example.com

Lưu ý rằng khi sử dụng tùy chọn này, nội dung thư sẽ được gửi mà không có khả năng sửa đổi hoặc xem trước, vì vậy cần kiểm tra lại nội dung trước khi gửi.

Thêm một file đính kèm

“Adding an attachment” trong Linux mail command là thêm một file đính kèm vào thư gửi. Điều này cho phép bạn chia sẻ các file đính kèm như hình ảnh, tài liệu hoặc bất kỳ loại file nào mà bạn muốn gửi đến người nhận cùng với thư.

Để thêm file đính kèm trong mail command, bạn sử dụng tùy chọn -a (hoặc –attach) và chỉ định đường dẫn đến file mà bạn muốn đính kèm. Ví dụ, để gửi một thư với một file đính kèm, bạn có thể sử dụng lệnh sau:

echo "This is the body of the email" | mail -s "Subject of the email" -a /path/to/attachment user@example.com

Trong đó:

  • “This is the body of the email”: là nội dung của thư gửi
  • “Subject of the email”: là tiêu đề của thư gửi
  • “/path/to/attachment”: là đường dẫn đến file đính kèm
  • user@example.com“: là địa chỉ email của người nhận.

Đọc email từ terminal

Lệnh mail trong Linux cung cấp cho người dùng khả năng đọc email từ terminal. Để đọc email với lệnh mail, người dùng chỉ cần gõ mail và ấn Enter. Hệ thống sẽ hiển thị danh sách email được gửi tới hộp thư của người dùng.

Để đọc một email cụ thể, người dùng có thể chọn email bằng cách sử dụng chỉ số thứ tự và sử dụng lệnh read hoặc more. Nếu email đó chứa các file đính kèm, người dùng có thể tải chúng xuống bằng cách sử dụng lệnh save.

Sau khi đã đọc email, người dùng có thể đánh dấu email là đã đọc bằng cách sử dụng lệnh d. Nếu người dùng muốn xóa một email, họ có thể sử dụng lệnh d và sau đó sử dụng lệnh q để thoát. Các email đã xóa không bị xóa ngay lập tức mà được lưu trong thư mục đã xóa cho đến khi người dùng xóa chúng vĩnh viễn.

Ví dụ: để đọc các email trong thư mục inbox của tài khoản email “example@gmail.com“, ta có thể sử dụng lệnh sau:

sudo mail -u example@gmail.com

Sau đó, danh sách các email trong inbox sẽ được hiển thị. Sử dụng các phím mũi tên để di chuyển đến email cần đọc và nhấn Enter. Nội dung email sẽ hiển thị trên màn hình. Để thoát khỏi chế độ đọc email, ta có thể nhấn phím “q”.

Man mail

Lệnh mail trong Linux là một lệnh dòng lệnh cho phép gửi và nhận thư điện tử từ bất kỳ máy chủ thư điện tử nào hỗ trợ giao thức SMTP. Để xem hướng dẫn sử dụng lệnh mail, ta có thể sử dụng lệnh sau:

man mail

Sau khi nhập lệnh này, hệ thống sẽ hiển thị trang hướng dẫn cho lệnh mail, bao gồm các tùy chọn và cú pháp được hỗ trợ bởi lệnh này.

Một số tùy chọn phổ biến của lệnh mail bao gồm:

  • -s (subject): Cho phép đặt tiêu đề cho email.
  • -a (attachment): Cho phép đính kèm file vào email.
  • -c (carbon copy): Cho phép gửi email cho những người nhận được sao chép.
  • -b (blind carbon copy): Cho phép gửi email cho những người nhận được sao chép ẩn danh.
  • -r (reply-to): Cho phép thiết lập địa chỉ email để nhận phản hồi khi email được trả lời.
  • -q (quiet): Chỉ hiển thị các thông báo lỗi.

Với lệnh mail, ta cũng có thể đọc các email được gửi đến cho người dùng. Ta có thể sử dụng lệnh mail hoặc mailx để đọc các email.

Một số tùy chọn phổ biến của lệnh mail khi đọc email bao gồm:

  • n: Hiển thị email theo thứ tự mới nhất trước.
  • p: Hiển thị nội dung email.
  • d: Xóa email sau khi đọc.

Ví dụ, để xóa email có số thứ tự 5 trong thư mục đang đọc, ta có thể sử dụng lệnh sau:

d 5

Lệnh này sẽ xóa email số 5 khỏi thư mục đang đọc.

Previous article
Next article

LEAVE A REPLY

Please enter your comment!
Please enter your name here

4,956FansLike
256FollowersFollow
223SubscribersSubscribe
spot_img

Related Stories