之前shell中都是使用mail命令发邮件,但是出现一个问题,服务器在内网,必须使用smtp
服务。实现发邮件有两种方法。一、修改sendmail的配置,然后还是用mail命令,二、使用telnet
方式来发邮件。我将第二种方法记录下来。
我的smtp不需要认证服务,调用函数需要传入的参数依次为:发送人的邮件地址、收件人的
邮件地址、邮件主题、邮件内容、smtp的IP地址、smtp的端口
send_mail()
{
(for i in "ehlo localhost.localdomain" "mail FROM:" "rcpt TO:" "data";
do
sleep 1
echo ${i}
sleep 2
done
echo "from:"
echo "subject:${3}"
echo "to:"
echo ""
echo "${4}"
echo "."
sleep 2
echo "QUIT")|telnet ${5} ${6}
}
#调用并传入参数
send_mail “simon-zzm@163.com” “test@test.com” “test” “ok!” “192.168.11.1” “25”