邮件常常是Linux下监控报警手段之一。Linux下的mail命令可以方便,快速的完成发送邮件。下面以CentOS为例
1、安装:
[app@127-0-0-1 ~]# mail -bash: mail: command not found [app@127-0-0-1 ~]# yum install mailx
2、配置
vi /etc/mail.rc 在文件尾加上如下配置
注 : 163的设置相对简单些,以163邮箱为例,QQ邮箱等,其他邮箱因为安全等因素,需要设置的比较多,具体的可以搞下,本文不作重点。QQ邮箱也是可以的。
163配置:
set from=显示的发件人,必须和认证用户邮箱一致 set smtp=smtp.163.com (163固定) set smtp-auth-user=163邮箱用户名 set smtp-auth-password=163邮箱的授权码 set smtp-auth=login 注:"="两边无空格
qq配置:
set from=显示的发件人,必须和认证用户邮箱一致 set smtp=smtp.qq.com(qq固定) set smtp-auth-user=qq邮箱账号 set smtp-auth-password=授权码 set smtp-auth=login 注:"="两边无空格
3、报错
[app@127-0-0-1 ~]# echo "Content" | mail -s "Title" 1378943543@qq.com [app@127-0-0-1 ~]# smtp-server: 550 User has no permission "/root/dead.letter" 10/235 . . . message not sent. ^C [app@127-0-0-1 ~]#
原因:由于163邮箱登录被拒绝了,解决:登录163邮箱,按下图1,2,3步骤进行就可以解决
qq 授权设置:【设置】-【账户】-【POPS/SMTP服务】-【开启】-【发送短信】-【已发送】-【获得授权码】
最后点击【确定】
4、成功
[app@127-0-0-1 ~]# echo "I love you" | mail -s "love letter" *****@qq.com [app@127-0-0-1 ~]#
状态:
5、拓展
5.1 mail命令参数
-s <邮件主题>:指定邮件的主题;
-c <地址>:添加邮件抄送人,多个人时用逗号隔开;
-b <地址>:添加邮件暗送人;
-a <附件>: 添加附件。
mail命令 可以使用查看具体更多的使用方法,mail --h 可以查看
5.2无邮件正文
[app@127-0-0-1 ~]# mail -s "Title" userName@qq.com
5.3 有邮件正文
[app@127-0-0-1 ~]# mail -s "Tile" userName@qq.com < /data/letter-comtext.txt
或
[app@127-0-0-1 ~]# cat /data/letter-context.txt | mail -s "Tile" userName@qq.com
或
[app@127-0-0-1 ~]# echo “context“ | mail -s "Tile" userName@qq.com
5.4带附件的邮件
[app@127-0-0-1 ~]# mail -s "Tile" -a /data/letter-context.txt userName@qq.com