这几天由于经常远程到一个Linux主机上处理东西,然后会生成一些文件,所以想把这些东西通过邮件附件的形式给自己发回来,于是好好研究了下Linux中的mail命令,其中参考了一些网友的经验:
1. 例如最简单的一个:
mail -s text zhousir1991@gmail.com
这条命令的结果是发一封标题为text的空信给后面的邮箱,但是往往这类邮件会被当成垃圾邮件来处理,所以如果没有收到邮件,建议打开垃圾箱来查看一下。
第一种方法,你可以把当前shell当成编辑器来用,编辑完内容后Ctrl-D结束
2. 第二个例子:
echo “This is a test mail!”|mail -s text zhousir1991@gmail.com#第二种方法,使用管道命令。
mail -s test zhousir1991@gmail.com < file
第三种方法,以file的内容为邮件内容发信,这个我个人现在用的比较多,因为在终端中写东西毕竟不是很方便,所以我还是会首先选择事先写好一个文档然后再mail过去。
3. 带附件的邮件发送(这是我想重点介绍的一个东西)
如果你的系统中没有uuencode命令的话,并且你已经配好了yum仓库;(yum仓库配置可以参看我的其他文档:http://www.cnblogs.com/zhousir1991/archive/2011/03/05/1971879.html)请先安装sharutils (yum install sharutils)
uuencode 需要两个参数,第一个是你要发送的文件,当然这个也可以用管道来做,第二个是显示的文件名
uuencode /home/zhousir/httpd.conf httpd.conf|mail -s mailtest zhousir1991@gmail.com
tar czf - /home/zhousir/ | uuencode home.tgz |mail -s mailtest zhousir1991@gmail.com
ps: slackware下的mail好像有一个-a参数,可以直接添加附件,我没有用过。
转自:http://www.svn8.com/linux/accidence/20091016/10858.html
Linux下Mail命令收集:
“/var/spool/mail/[linux用户名]”文件中。
在linux中输入mail,就进行了收件箱,并显示二十封邮件列表。
此时命令提示符为"&"
unread 标记为未读邮件
h|headers 显示当前的邮件列表
l|list 显示当前支持的命令列表
?|help 显示多个查看邮件列表的命令参数用法
d 删除当前邮件,指针并下移。 d 1-100 删除第1到100封邮件
f|from 只显示当前邮件的简易信息。 f num 显示某一个邮件的简易信息
f|from num 指针移动到某一封邮件
z 显示刚进行收件箱时的后面二十封邮件列表
more|p|page 阅读当前指针所在的邮件内容 阅读时,按空格键就是翻页,按回车键就是下移一行
t|type|more|p|page num 阅读某一封邮件
n|next|{什么都不填} 阅读当前指针所在的下一封邮件内容
阅读时,按空格键就是翻页,按回车键就是下移一行
v|visual 当前邮件进入纯文本编辑模式
n|next|{什么都不填} num 阅读某一封邮件
top 显示当前指针所在的邮件的邮件头
file|folder 显示系统邮件所在的文件,以及邮件总数等信息
x 退出mail命令平台,并不保存之前的操作,比如删除邮件
q 退出mail命令平台,保存之前的操作,比如删除已用d删除的邮件,已阅读邮件会转存到当前用户家目录下的mbox文件中。如果在mbox中删除文件才会彻底删除。
在linux文本命令平台输入 mail -f mbox,就可以看到当前目录下的mbox中的邮件了。
cd 改变当前所在文件夹的位置
写信时,连按两次Ctrl+C键则中断工作,不送此信件。
读信时,按一次Ctrl+C,退出阅读状态。