Linux中通过SHELL发送邮件

Linux中通过SHELL发送邮件,第1张

    笔者做过做过使用python发送邮件- Python使用yagmail库发送邮件 ,那么在不同平台都可以完成一些监控报警功能。但是在linux平台下,如果脚本是shell实现的,可以调用python脚本,也可以直接使用shell来发送。

    1、按照mailx软件包, 安装后在/usr/bin/mail

        sudo yum install mailx -y

    2、修改配置文件/etc/mail.rc

        直接修改配置文件vim /etc/mail.rc, 在最后追加下面的配置,笔者使用的是163邮箱。需要注意的是,需要进入邮箱开启SMTP服务,然后得到一个授权码,用于登录第三方邮件客户端的专用密码。smtp-auth-password即为授权码,而不是邮箱地方密码。

    3、发送邮箱测试

          命令行输入: echo "测试邮件" | mail -s "邮件主题" -a ./myshells/clear_buffcache.sh ***@qq.com  。-s添加邮箱主题,并添加附件后将邮箱内容一起发送给***@qq.com  。邮箱里面立马就可以收到了。

    也可以使用文件内容进行邮件发送:mail -s  "邮件主题"  收件地址  <  mail.txt  。

    也可以在命令行输入邮箱内容:mail -s  "邮件主题"  收件地址  ,输入完这行命令后回车,会进入邮件正文的编写,可以输入任何文字。当邮件正文输入完成后,需要按CTRL+D结束输入后发送。

    如果发送失败,咋命令行会提示错误: message not sent,并会在用户目录下的dead.letter里面显示具体信息。

mail -s 发邮件

-b<地址>:指定密件副本的收信人地址;

-c<地址>:指定副本的收信人地址;

-f<邮件文件>:读取指定邮件文件中的邮件;

-i:不显示终端发出的信息;

-I:使用互动模式;

-n:程序使用时,不使用mail.rc文件中的设置;

-N:阅读邮件时,不显示邮件的标题;

-s<邮件主题>:指定邮件的主题;

-u<用户帐号>:读取指定用户的邮件;

-v:执行时,显示详细的信息。

总结如下:

echo "邮件内容“ | mail -s "邮件主题" hqq@domain.com

mail -s "邮件主题" hqq@domain.com <mail.txt

mail.txt 是邮件内容

简化公式

echo {MAIL_SUBJECT} {BACKUP_LOG} 2>&1

mail -s "Hello from linuxde.net by shell" admin@linuxde.net

hello,this is the content of mail.

welcome to www.linuxde.net

第一行是输入的命令,-s表示邮件的主题,后面的admin@linuxde.net则是邮件的接收人,输入完这行命令后回车,会进入邮件正文的编写,我们可以输入任何文字,比如上面的两行。当邮件正文输入完成后,需要按CTRL+D结束输入,此时会提示你输入Cc地址,即邮件抄送地址,没有直接回车就完成了邮件的发送。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7627346.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-07
下一篇 2023-04-07

发表评论

登录后才能评论

评论列表(0条)

保存