Linux-mail命令学习

来源:互联网 发布:拳师七号淘宝 编辑:程序博客网 时间:2024/05/18 03:46

在Linux中有个mail命令可以进行邮件的收发工作,近来学习了一些mail命令的用法,在此记录下,与君共享,供备忘之用!

一、mail命令的3种用法

 1.  mail -s "test" user@gmail.com

    输入该命令后,就可以把当前shell窗口当做编辑器来使用,可以输入任何你想输入的语句,输入完毕之后,按Ctrl+D或者"."符合来发送邮件,此时会提示让输入Cc的邮箱,如果没有的话,直接按回车结束即可。注意,输入"."符号来结束输入时,一定要在新的行首输入,否则会把该符号当做普通字符来发送的。

    -s 参数用来指定邮件的Subject(主题)

 2.echo "hello"|mail -s test user@gmail.com

    该命令直接把echo输出的内容当做邮件内容发送出去。

 3.mail -s test user@gmail.com <file

    该命令是把file文件里面的内容当做邮件内容发送出去。

二、发送带附件的邮件

    如果要发送带附件的邮件,需要使用uuencode这个命令,如果没有该命令的话,需要先安装下sharutils(sudo yum install sharutils)。

    uuencode /home/admin/a.txt a.txt|mail -s  test user@gmail.com

    uuencode需要使用两个参数,第一个是你要发送的文件(一个或多个),第二个是邮件中显示的文件名。如果要发送多个附件,只需多使用几个uuencode命令即可:

    (uuencode /home/admin/a.txt a.txt;uuencode /home/admin/b.txt b.txt)|mail -s  test user@gmail.com

    但是有个疑问,当使用uuencode来发送附件的时候,就不能往邮件正文中写内容了,上面(一)中的3个方法都不能奏效,不知道有没有哪位大侠有没有其他方法,赐教一下。

    上面的疑问经过我自己的测试,发现可以通过下面的方法来解决,算是歪打正着了吧:

    (echo "hello";uuencode /home/admin/a.txt a.txt)|mail -s  test user@gmail.com,或者

    (cat/home/admin/a.txt;uuencode /home/admin/a.txt a.txt)|mail -s  test user@gmail.com

   上面的两种方法都可以发送既有邮件正文又带附件的邮件 (*^__^*) 

原创粉丝点击