linux mail命令用法浅析

07-01

在这里整理一下Linux中mail命令的使用。mail也是一个常用的命令,我们在很多地方都要用到它,比如定时把系统状况或日志发送到我们的邮箱里等等。

首先通过help参数来查看mail的所有参数如下:

复制代码

代码如下:

Usage: mail [-BDFintv~] [-s subject] [-a attachment ] [-c cc-addr] [-b bcc-addr]
[-r from-addr] [-h hops] [-A account] [-R reply-addr] to-addr …
mail [-BDeHiInNRv~] [-T name] [-A account] -f [name]
mail [-BDeinNRv~] [-A account] [-u user]

1、发送标题加文本内容

运行命令:

复制代码

代码如下:

mail -s “this is a title” [email protected]

回车,继续输入文本,也就是邮件内容

复制代码

代码如下:

this is content

然后按Ctrl+D退出。

复制代码

代码如下:

EOT

上面是最简单的例子,假如我们想要发送给多个邮箱呢?在上面的邮箱后面加另外的邮箱地址,邮箱间以空格隔开即可,如下:

复制代码

代码如下:

mail -s “this is a title” [email protected] [email protected]

在上面的例子中,发件人是Linux当前的登录用户名,比如我当前登录的用户名为admin,那么发送的邮箱地址是[email protected],如果邮箱后缀域名是163.com的话。但有时我们想写上发件人的名称,还有不想采用默认的邮箱地址,这时我们可以这么做:

复制代码

代码如下:

mail -s “this is a title” -r “[email protected][email protected]

这时发件人邮箱就变为了 [email protected],一些垃圾邮件就是采用的这种方法,隐藏自己真实的邮件地址。

如果我们想要收件人回复邮件时,回复的邮箱地址与我们的发信邮箱不同,那么我们可以自定义回复邮箱地址,如下:

复制代码

代码如下:

mail -s “this is a title” -r “[email protected]” -R “[email protected][email protected]

那么收信人回复时,会默认发送到[email protected],而不是默认的[email protected]

2、发送附件

有时我们需要发送附件,那么也是非常容易的,如下:

复制代码

代码如下:

mail -s “this is a title” -r “[email protected]” -a “/home/hadoop/report/3.txt” [email protected]

在这里要说明一下的时,如果我们的附件是不大的文本文件,我们有时也用不着发送附件,可以直接将附件的文本当做邮件内容发送,这样通过邮件查看时也更方便些,如下:

复制代码

代码如下:

mail -s “this is a test” [email protected] < /home/hadoop/project/3.txt

3、不用回车输入邮件内容发送邮件

在上面的例子中,你如果照做的话,你会发现很不方便,那就是每次输入邮件内容都需要在命令运行后回车输入内容,最后还要再按Ctrl+D完成。实际上,可以不用这么费劲的,如下:

复制代码

代码如下:

echo “this is content” | mail -s “this is a title” [email protected]

通过echo命令来输入邮件内容“this is content”,这样就简单多了!

4、查看邮件

通过mail命令也可以查看收到的邮件,这个我就简单说一下吧,毕竟这个相对不常用,命令很简单,直接输入mail,会出现收到的邮件,每个邮件都对应一个序列号,如果要查看某封邮件,直接在?后输入数字序列号即可。

在?后输入help可以查看所有的参数,如下:

复制代码

代码如下:

? help
mail commands
type <message list> type messages
next goto and type next message
from <message list> give head lines of messages
headers print out active message headers
delete <message list> delete messages
undelete <message list> undelete messages
save <message list> folder append messages to folder and mark as saved
copy <message list> folder append messages to folder without marking them
write <message list> file append message texts to file, save attachments
preserve <message list> keep incoming messages in mailbox even if saved
Reply <message list> reply to message senders
reply <message list> reply to message senders and all recipients
mail addresses mail to specific recipients
file folder change to another folder
quit quit and apply changes to folder
xit quit and discard changes made to folder
! shell escape
cd <directory> chdir to directory or home if none given
list list names of all available commands</p><p>A <message list> consists of integers, ranges of same, or other criteria
separated by spaces. If omitted, mail uses the last message typed.

在?后也可以直接输入mail写信哦,就跟上面的例子一样,所不同的是,每步都会有提示,如下:

复制代码

代码如下:

? mail
To: [email protected]
Subject: this is a title
content
EOT