• 云服务器邮件报警详细步骤


    我司用的西部数码云服务器做邮件报警,我看阿里云也是屏敝了25端口。

    所以打脸的说,我做了两天才搞通。

    做这个报警,我反正操碎了心,微信有注册过公众号,所以微信做了一天多都没做通,听说跟微信公众号有冲突,搞不明白,转战邮件。

    sendEmail默认端口为25,我不会绕25,一系列报错:Nov 21 16:58:05 ebs-49310 sendEmail[31711]: ERROR => Timeout while connecting to smtp.exmail.qq.com:25  There was no response after 60 seconds.

    报错还有如下情况:smtp-server: 535 Error: ȫʹԃ˚ȨëµȂ¼¡£Ъȩȫ¿´: http://service.mail.qq.com/cgi-bin/help?subtype=1&&id=28&&no=1001256"

    /root/dead.letter" 11/293

    . . . message not sent.

    如果你也遇到以上情况,那么试试下面吧

    首先你得有邮箱的授权码

    如果这里是关闭请开启,如果是开启状态但不知道授权码的,那关了再开一次,记录下授权码:本人授权码为jjtpupmyrtwkbjhc

    有了授权码,下面言归正传:

    yum -y install mailx

    ln -s /usr/bin/mailx /usr/bin/mail

    chown -R zabbix.zabbix /usr/bin/mail

    vim /etc/mail.rc

    如果你的/etc/mail.rc里有配置的set smtp-use-starttls,请注释掉,配置这行会验证证书失败。

    这个玩意,关了 systemctl stop postfix.service

    生成qq邮箱的ssl证书

    mkdir -p /root/.certs/

    echo -n | openssl s_client -connect smtp.qq.com:465 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > ~/.certs/qq.crt

    certutil -A -n "GeoTrust SSL CA" -t "C,," -d ~/.certs -i ~/.certs/qq.crt

    certutil -A -n "GeoTrust Global CA" -t "C,," -d ~/.certs -i ~/.certs/qq.crt

    certutil -L -d /root/.certs

    进入证书存放目录,cd /root/.certs/

    返回以下提示即为正常:

     

    mailx -s "邮箱测试" 402252408@qq.com < message_file.txt无返回值即发送成功

    echo  test | mail -v -s " test"  402252408@qq.com  (也可以实现邮件发送的)

    成功。

    配置zabbix网页邮件报警

     对了,忘了附脚本图了,回补

    #!/bin/bash
    ### jiayan

    messages=`echo $3 | tr ' ' ' '`
    subject=`echo $2 | tr ' ' ' '`
    echo "${messages}" | mail -s "${subject}" $1 >>/tmp/sendmail.log 2>&1

    修改zabbixserver的配置文件

    vim /etc/zabbix/zabbix_server.conf

     

    修改为你的mailx.sh脚本路径

    其次配置网页端

     

    然后宕掉某个在监控状态的服务器,出现报警提示

     

    如果,你也出现以上已送达,却邮箱没反应的情况,那么你会在你的日志里看到以下内容:

     

    Error initializing NSS: Unknown error -8015.

    . . . message not sent.

    未发送成功。

    接着往下做吧少年,一波三十折,你已经经历了二十九折了。

    这个是权限问题,因为证书是在root下生成的,所以其它用户没有执行权限,所以了

     cp  -a  /root/.certs   /tmp

    chmod -R 777 /tmp

    然后再修改下/etc/mail.rc里的nss-config-dir (别怪我没早说这个问题,这个问题也是我做到这里才发现的,见谅)

     

    再次宕掉服务,邮件报警实现。

  • 相关阅读:
    ASP.NET MVC 常用内置验证特性 简介
    为什么要有get方法?-多态内存分析的应用
    多态的内存分析-转载
    抽象类和接口
    多态
    通过序列化复制整个对象
    检查异常和非检查异常
    怎样抛出自己定义的异常
    try catch和throws怎么用?-结合使用
    两个对象整体内容的比较-重写对象的equals方法
  • 原文地址:https://www.cnblogs.com/jiayannvwang/p/10001946.html
Copyright © 2020-2023  润新知