Linux下有很多地方需要发送邮件给管理员,比如系统资源使用情况、磁盘空间预警、重要数据自动备份等。

 

通常情况下,我们会采用mail命令发送邮件,但前提是系统安装了sendmail且正常配置。

 

最近入手了vps,简化的linux,很多功能被阉割不能调用mail命令,于是想到了利用telnet调用远程smtp服务发送邮件(smtp.163.com)

 

以下是实现的shell代码:

#!/bin/sh

send_mail()

{

  (for i in "ehlo luocheng" "AUTH LOGIN" "username" "userpwd" "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 "luocheng@163.com" "5456588@qq.com" "test" "ok!" "smtp.163.com" "25"

 

 

 

注意,函数中的username和userpwd需要base64加密

相关文章:

  • 2021-10-06
  • 2021-09-08
  • 2021-06-25
  • 2021-10-13
  • 2021-06-23
  • 2022-12-23
  • 2021-11-28
  • 2022-12-23
猜你喜欢
  • 2021-12-19
  • 2021-07-04
  • 2022-12-23
  • 2021-06-26
  • 2022-12-23
  • 2021-12-15
相关资源
相似解决方案