Cách gửiemailbằng dòng lệnhtrongLinux
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
Nhấ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ấnControl+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 tronglệ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ệnhtrong đó. 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 emailbằnglệnh mutt. Đây là kịch bản để thực hiện công việc đó:
. Cách gửi email bằng dòng lệnh trong Linux
MAIL
Trước khi chạy một kiểm tra nhanh chóng để bảo. 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