首页 > 代码库 > 使用Linux的mail命令发送邮件

使用Linux的mail命令发送邮件

由于经常工作在linux下,所以很多时候需要将自己工作的报告或其他有用的东东发送给相关的人,所以花时间研究了一下在linux下如何发送mail。我们通常能用到下面3中发送方式:

1. 使用Shell当编辑器发送邮件

这种方式可以直接在shell窗口编辑邮件正文,当编辑完成之后使用Ctrl+D退出,同时邮件也会被发送出去

# -s后面是邮件的主题,主题后面是目标邮件地址
[root@centos6 ~]# mail -s “Lucky mail” xlapn@126.comHi Tomas,Thank you for you help!Regards,Daniel

2. 使用管道发送邮件

echo后面的是邮件正文

[root@centos6 ~]# echo "Hi Tomas,> Thank you for you help!> Regards,> Daniel" | mail -s "Thank you mail" xlapn@126.com

3. 以文件的形式发送邮件正文

这种形式适合比较长的邮件正文编写,将邮件正文写入到文件mail.body,然后通过<定位到目标邮件

[root@centos6 ~]# mail -s "Thanks mail" xlapn@126.com < mail.body

4. 发送带有附件的邮件

要发送带有附件的邮件,需要安装uuencode软件包,在配置好YUM源的前提下可以使用下面的命令安装uuencode包

[root@centos6 ~]# yum install sharutils

安装好uuencode就可以发送带有附件的邮件了

# uuencode后面跟了两个参数,第一个参数”/root/batch.file“是附件全路径,第二个参数”batch“是附件在邮件中显示的名字
[root@centos6 ~]# uuencode /root/batch.file batch | mail -s "Batch file" xlapn@126.com < mail.body

以上的一些命令都是在CentOS6上测试过的