zabbix 想要使用自带的smtp功能发邮件,除了添加编译参数以外,还要求 libcurl-devel 的版本7.20+,所以网上的教程都是使用自定义脚本来发送报警邮件,其实还是官方的简单。

因为centos 6.x 官方源里的 libcurl-devel 版本只有7.19,所以需要从第三方源里升级它

  • 1. 添加 curl源:

    1
    2
    3
    4
    5
    6
    
    vim /etc/yum.repos.d/city-fan.repo  
    [CityFan]  
    name=City Fan Repo  
    baseurl=http://nervion.us.es/city-fan/yum-repo/rhel$releasever/$basearch/  
    enabled=1  
    gpgcheck=0  
      1. 升级本地 curl

        1
        
        yum install -y libcurl-devel 
          1. 编译安装 zabbix

            1
            2
            3
            4
            5
            6
            7
            8
            
            #安装依赖  
            yum install -y net-snmp-devel libxml2-devel  
            # (可选)使用html格式发信  
            # vim src/libs/zbxmedia/email.c  
            #第 306 行,将 "Content-Type: text/plain; charset="UTF-8"rn" 修改为 :"Content-Type: text/html; charset="UTF-8"rn"  
            ./configure --prefix=/usr/local/zabbix/ --enable-server  --with-mysql  --with-net-snmp --with-libcurl --with-libxml2  
            # 一定要加上 --with-net-snmp  
              
            • 4. 配置zabbix 的stmp信息

配置成功后就可以使用自带的 smtp发信了,而不是脚本。

更多教程请参考官方文档