• Linux的shell下发送mail的工具


    背景

    项目中搭建了一套集群环境,整个集群机器的网络可用性通过一个shell脚本来进行监控。该脚本在检测网络连通性失败的情况下会打印错误日志并发送邮件通知给相关人员。那如何使用linux命令来发送邮件呢?

    这里找到了一个好工具:mailx

    简介

    Mailx is an intelligent mail processing system, which has a command syntax reminiscent of ed(1) with lines replaced by messages. It is based on Berkeley Mail 8.1, is intended to provide the functionality of the POSIX mailx command, and offers extensions for MIME, IMAP, POP3, SMTP, and S/MIME. Mailx provides enhanced features for interactive use, such as caching and disconnected operation for IMAP, message threading, scoring, and filtering. It is also usable as a mail batch language, both for sending and receiving mail.

    Mailx是一个mail处理程序,拥有这丰富的命令行语法来发送邮件。

    安装

    我们使用如下命令进行安装:

    #centos
    sudo yum install mailx -y
    #Ubuntu
    sudo apt install heirloom-mailx -y

    配置

    配置文件

    Centos:

    /etc/mail.rc

    Ubuntu:

    /etc/nail.rc或者/etc/s-nail.rc

    配置内容

    #/etc/s-nail.rc 替换成实际系统的配置文件
    cat >> /etc/s-nail.rc << EOF
    set smtp=smtp.126.com
    set from= xxx@126.comset 
    set smtp-auth-user=xxx@126.com
    set smtp-auth-password=DUFPNGHRMZTTSXWH
    set smtp-auth=login
    EOF

    解释一下:

    • smtp:指的是smtp服务的地址,这里我使用的是126邮箱的smtp服务地址
    • from:指的是邮件源地址
    • smtp-auth:指的是邮箱用户名
    • smtp-auth-password:指的是客户端授权码(不是邮箱密码)
    • smtp-auth:默认设置为login即可

    发送邮件

    发送邮件分为交互式和非交互式,其中非交互式又分为两种形式。

    交互式

    这种我们一般用的少,主要是用于测试:

    输入:mail xxx@163.com

    输入主题

    输入内容

    按ctrl+d,结束输入,然后回车 

    非交互式

    1)echo "邮件内容" | mail -s "主题" 邮箱地址

    我用的就是该方式,如下图:

    2)mail -s "主题" "邮箱地址" < "path/filename"

    这种是直接把指定的文件内容读取出来作为邮件内容发送 

    提示:如果有多个邮箱接收人,以逗号分隔

    博主:测试生财(一个不为996而996的测开码农)

    座右铭:专注测试开发与自动化运维,努力读书思考写作,为内卷的人生奠定财务自由。

    内容范畴:技术提升,职场杂谈,事业发展,阅读写作,投资理财,健康人生。

    csdn:https://blog.csdn.net/ccgshigao

    博客园:https://www.cnblogs.com/qa-freeroad/

    51cto:https://blog.51cto.com/14900374

    微信公众号:测试生财(定期分享独家内容和资源)

     

     

  • 相关阅读:
    Mysql常用函数总结(二)
    mysql百万的数据快速创建索引
    php 中的sprintf 坑
    php5.5之后新特性整理
    mysql实践总结
    php下载远程图片到本地
    搜藏一个php文件上传类
    Attribute基本介绍
    Fiddler4抓包工具使用教程一
    HTTP传输数据压缩
  • 原文地址:https://www.cnblogs.com/qa-freeroad/p/13908552.html
Copyright © 2020-2023  润新知