-b<地址>:指定密件副本的收信人地址;
-c<地址>:指定副本的收信人地址;
-f<邮件文件>:读取指定邮件文件中的邮件;
-i:不显示终端发出的信息;
-I:使用互动模式;
-n:程序使用时,不使用mail.rc文件中的设置;
-N:阅读邮件时,不显示邮件的标题;
-s<邮件主题>:指定邮件的主题;
-u<用户帐号>:读取指定用户的邮件;
-v:执行时,显示详细的信息。
总结如下:
echo "邮件内容“ | mail -s "邮件主题" [email protected]
mail -s "邮件主题" [email protected] <mail.txt
mail.txt 是邮件内容
简化公式
echo {MAIL_SUBJECT} {BACKUP_LOG} 2>&1
笔者做过做过使用python发送邮件- Python使用yagmail库发送邮件 ,那么在不同平台都可以完成一些监控报警功能。但是在linux平台下,如果脚本是shell实现的,可以调用python脚本,也可以直接使用shell来发送。
1、按照mailx软件包, 安装后在/usr/bin/mail
sudo yum install mailx -y
2、修改配置文件/etc/mail.rc
直接修改配置文件vim /etc/mail.rc, 在最后追加下面的配置,笔者使用的是163邮箱。需要注意的是,需要进入邮箱开启SMTP服务,然后得到一个授权码,用于登录第三方邮件客户端的专用密码。smtp-auth-password即为授权码,而不是邮箱地方密码。
3、发送邮箱测试
命令行输入: echo "测试邮件" | mail -s "邮件主题" -a ./myshells/clear_buffcache.sh ***@qq.com 。-s添加邮箱主题,并添加附件后将邮箱内容一起发送给***@qq.com 。邮箱里面立马就可以收到了。
也可以使用文件内容进行邮件发送:mail -s "邮件主题" 收件地址 < mail.txt 。
也可以在命令行输入邮箱内容:mail -s "邮件主题" 收件地址 ,输入完这行命令后回车,会进入邮件正文的编写,可以输入任何文字。当邮件正文输入完成后,需要按CTRL+D结束输入后发送。
如果发送失败,咋命令行会提示错误: message not sent,并会在用户目录下的dead.letter里面显示具体信息。
可以在系统登陆时执行一个脚本,发送邮件。一般针对于用户家目录下的.bash_rc做修改。比如:
vi ~/.bashrc
添加:
echo "$(whoami) login at: $(date) ip address: $(w|sed -n '3p'|awk '{print$3}')" | mail -s LoginMessage [email protected]
这样用户登陆会读取.bashrc文件,执行命令,会记录用户名、时间、来源ip,发送到指定邮箱。但是很有可能列为垃圾邮件。比如qq就列到垃圾邮件中了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)