Ubuntu下使用mail命令发送邮件

99 views

 

 

apt-get update
apt-get install mailx
apt-get install mail

sudo apt-get install heirloom-mailx

此时还不能发送外部服务器邮件,需要完成以下配置,修改/etc/nail.rc或者/etc/s-nail.rc(Ubuntu)、/etc/mail.rc(centOS)、vi /etc/nail.rc或者/etc/s-nail.rc

在nail.rc文件末尾添加一下两行代码:

set from=zhangqing@***.com
set smtp=smtp.exmail.qq.com
set smtp-auth-user=zhangqing@***.com
set smtp-auth-password="******"
set smtp-auth=login

按照以上步骤设置完毕之后即可使用mail命令发送邮件,发送邮件有以下三种方式:

  • 方法一:交互形式发送邮件
    • mail + 邮箱地址
    • 填写主题
    • 填写内容
    • ctrl + d 结束输入
    • cc代表抄送,回车完成发送
  • 方法二:通道形式发送
    • echo “邮件内容” | mail -s “主题” 邮箱地址
  • 方法三:读取文件内容发送
    • mail -s “主题” “邮箱地址” < “path/filename”

 


Test:ping某个ip不通时发送邮件

#!/bin/bash 
yourip=210.*.*.*

pingsh(){
nowdate=`date +%Y%m%d-%H:%M:%S`
if  ping -c 1 $yourip  >/dev/null 2>&1 ; then
        echo " ping $yourip from 192.168.3.87 at $nowdate is good" >> /var/log/pinglog.log
else
echo "ping $yourip from 192.168.3.87 at $nowdate is down!" >> /var/log/pinglog.log
echo "ping $yourip from 192.168.3.87 at $nowdate is down! AND Go to 3.87 start [bash /var/cro.sh]" | mail -s "Bole internet waring!!!" zhangqing@***.com
fi
}

step=2 #间隔的秒数,不能大于60 
for (( i = 0; i < 10; i=(i+step) )); do
  	pingsh 
  	echo $i
	sleep $step 
	#判断如果不能ping通则退出循环,停止该脚本的执行。
	if  ping -c 1 $yourip  >/dev/null 2>&1 ; then
		echo " ping $yourip from 192.168.3.87 at $nowdate is good"
	else
		exit 0
	fi

done
exit 0

 

step为间隔ping时间。i<10,为执行的总秒数。

赞赏

微信赞赏支付宝赞赏

Ubuntu下使用mail命令发送邮件

《Ubuntu下使用mail命令发送邮件》有1条留言

留下评论