Cách gửi email bằng dòng lệnh trong Linux



Trong Linux dòng lệnh cũng có thể được sử dụng rất hữu dụng khi bạn biết cách sử dụng nó. Bạn có thể phân tách dữ liệu, kiểm tra các quá trình và thực hiện rất nhiều công việc hữu dụng khác qua nó. Công cụ dòng lệnh cũng có thể được sử dụng để tạo một báo cáo và mail nó đến một địa chỉ nào đó. Trong bài này chúng tôi sẽ giới thiệu cho các bạn cách sử dụng lệnh trong Linux để gửi mail bằng một kịch bản. Bổ sung thêm vào đó là việc gửi theo các đính kèm từ dòng lệnh.

 

MAIL

 

Trước khi chạy một kiểm tra nhanh chóng để bảo đảm rằng ứng dụng “sendmail”đã được cài đặt và làm việc đúng cách. Bạn hãy thực thi lệnh dưới đây, thay thế “you@youremailid.com” bằng địa chỉ email của  bạn.

 

# mail -s “Hello world” you@youremailid.com

Cách gửi email bằng dòng lệnh trong Linux.jpgNhấn phím Enter/return, khi đó bạn sẽ được đưa tới một dòng mới. Nhập vào đoạn văn bản “This is a test from my server”. Sau khi nhập xong đoạn văn bản đó bạn hãy nhấn phím return lại lần nữa. Sau đó nhấn kết hợp các phím Control+D để tiếp tục. Nhắc lệnh sẽ hỏi bạn xem bạn có muốn đánh dấu một bản copy của mail đến một địa chỉ nào khác không, nhấn Control+D lần nữa. Kiểm tra mailbox của bạn. Lệnh này sẽ gửi đi một mail đến một email ID đã được đề cập với subject “Hello world”.

Để add thêm nội dung vào phần body của mail trong khi vẫn chạy lệnh, bạn có thể sử dụng các tùy chọn dưới đây. Nếu bạn muốn bổ sung thêm đoạn văn bản của chính bạn:

# echo “This will go into the body of the mail.” | mail -s “Hello world” you@youremailid.com

Và nếu bạn muốn mail để đọc nội dung từ một file:

# mail -s “Hello world” you@youremailid.com < /home/calvin/application.log

Một số tùy chọn hữu dụng khác trong lệnh mail này là:

-s subject (subject của mail)
-c email-address (Đánh dấu một copy cho địa chỉ “email-address” này hoặc CC)
-b email-address (Đánh dấu BCC)

Đây là cách bạn có thể sử dụng các tùy chọn này:

# echo “Welcome to the world of Calvin n Hobbes” | mail -s “Hello world” calvin@cnh.com -c hobbes@cnh.com -b susie.derkins@cnh.com

MUTT

Một trong những trở lại lớn trong việc sử dụng lệnh mail là nó không hỗ trợ việc gửi các đính kèm. Tuy vậy, lệnh mutt lại hỗ trợ điều đó. Chúng tôi đã phát hiện thấy tính năng này rất hữu dụng cho các kịch bản để tạo các báo cáo không nguyên bản hoặc các back up có kích thước nhỏ. Mutt cho phép bạn có thể thực hiện rất nhiều công việc ngoài việc chỉ gửi các đính kèm. Nó còn có nhiều tính năng hơn lệnh mail. Chúng ta hãy đi khám phá những vấn đề cơ bản có thể thực hiện với lệnh này. Đây là cách bạn có thể đính kèm một file vào mail:

# echo “Sending an attachment.” | mutt -a backup.zip -s “attachment” calvin@cnh.com

Lệnh này sẽ gửi một mail đến calvin@cnh.com với chủ đề là “attachment”, body là “Sending an attachment.” và gồm có một file đính kèm backup.zip. Giống như lệnh mail, bạn có thể sử dụng tùy chọn “-c” để đánh dấu CC đến một mail ID khác.

Gửi mail từ một kịch bản

Với những cơ bản đã được giới thiệu, bạn hoàn toàn có thể gửi các mail từ các kịch bản của mình. Đây là một kịch bản đơn giản mà chúng tôi giới thiệu để đọc không gian sử dụng trên phần vùng ổ cứng và mail dữ liệu đó đến bạn.

#!/bin/bash
df -h | mail -s “disk space report” calvin@cnh.com

Lưu các dòng này trong một file nào đó trên máy chủ Linux và chạy file này. Bạn sẽ nhận được một email gồm có các kết quả của các lệnh trong đó. Mặc dù vậy, nếu cần gửi nhiều dữ liệu hơn thì bạn cần phải viết dữ liệu vào một file văn bản và nhập nó vào body của mail trong khi soạn thảo mail. Đây là một ví dụ về kịch bản sẽ thực hiện công việc xem hiệu suất đĩa cứng cũng như bộ nhớ, ghi dữ liệu đó vào một file tạm thời, sau đó nhập nó vào thân của một mail và gửi đi:

#!/bin/bash
df -h > /tmp/mail_report.log
free -m >> /tmp/mail_report.log
mail -s “disk and RAM report” calvin@cnh.com < /tmp/mail_report.log

Ở đây có một vấn đề phức tạp hơn. Bạn phải lấy một back up các file và mail sau đó. Đầu tiên thư mục được mail sẽ được lưu lại. Sau đó nó sẽ được gửi như một đính kèm của email bằng lệnh mutt. Đây là kịch bản để thực hiện công việc đó:

#!/bin/bash
tar -zcf /tmp/backup.tar.gz /home/calvin/files
echo | mutt -a -s /tmp/backup.tar.gz “daily backup of data” calvin@cnh.com

Echo ở đầu dòng cuối cùng sẽ thêm một phần trống vào thân của mail sẽ được thiết lập.

Theo quantrimang.com


» Các bài viết khác trong kiến thức căn bản về Hệ điều hành Linux:
» 10 lời khuyên hữu ích khi chuyển sang Linux
» Kết nối Linux tới một mạng không dây
» Chia sẻ tập tin dễ dàng giữa các hệ thống Linux
» Hướng dẫn cài đặt Hệ điều hành Linux:


Được tạo bởi liennp
Lần sửa cuối 17/03/09

Giới thiệu PLANETPhản hồi trực tuyến Mua hàng ở đâySơ đồ WebsiteEnglish  

Sử dụng bộ phần mềm TVIS 3.0
© Bản quyền của công ty máy tính NETCOM Co.,Ltd 2000-2016

Số lần truy cập:

Mọi kết nối tới Website này cũng như việc tái sử dụng lại nội dung phải được sự đồng ý của công ty NETCOM Co.,Ltd.
Mọi chi tiết xin liên hệ theo địa chỉ sau: Công ty máy tính NETCOM Co.,Ltd Số 46A/120 Đường Trường Chinh - Phương Mai - Đống Đa - Hà Nội.
Tel: (04)35737747 , Fax: (04)35737748 , Email: support@netcom.com.vn