在平时的工作中,可能很多环境都有自己的内网环境,如果发生一些问题的时候,可以通过内网环境发送邮件到指定的邮箱中。这种略显智能的方式可能在很多工作场景中使用,一般都需要设置对应的网络配置,邮件设置等等,本文仅通过简单的Linux命令来发送一些比较简单的邮件。环境目前经过测试,仅适用用redhat,centos环境。
其实这个东西感觉神秘,很多东西都是已经成型的软件产品。
redhat中使用的就是mailx。可以简单验证一下自己的机器上是否已经安装。
[root@rac1 ~]# rpm -qa |grep mail
mailx-12.4-6.el6.x86_64
mailcap-2.1.31-1.1.el6.noarch
如果已经安装就可以直接用了,没有的话通过rpm包,或者图省事直接yum等等也能够完成。
下面就说到重点的,不需要配置其他的邮箱设置,直接通过命令来完成。
先发一封简单的邮件,为了避免骚扰,邮箱就以aaa@aaa.com来代替吧。
echo 'hello!' | mail -s "hello test" aaa@aaa.com
邮件的标题就会显示为hello test,邮件内容为 hello,接受邮件的地址为aaa@aaa.com
接受情况如下截图所示。
来点更丰富的。
添加一个附件。比如说有一个文件getdump.sh我想发送为附件。使用如下的命令即可。
cat getdump.sh |mail -a getdump.sh -s "small test" aaa@aaa.com
可以看到附件也成功发送了。
如果我想发送给若干个人,只需要以逗号分隔即可。使用下面的命令即可。
cat getdump.sh |mail -a getdump.sh -r ora11g@rac.domain -s "small test" aaa1@aa.com,aaa2@aa.com