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