邮件常常是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