【问题标题】:Zabbix configuration - ActionZabbix 配置 - 操作
【发布时间】:2015-04-29 05:03:45
【问题描述】:

我正在配置的操作用于发送电子邮件通知。问题是,如果我在操作名称和消息中使用宏,则不会发送电子邮件,如果仅使用纯文本,则可以成功发送电子邮件。 我正在使用脚本的媒体类型,脚本完成发送电子邮件的工作。脚本如下:

#!/bin/sh
export smtpemailfrom=zabbix@yourdomain.com
export zabbixemailto=$1
export zabbixsubject=$2
export zabbixbody=$3
export smtpserver=yoursmtpserver.com
export smtplogin=smtpuser
export smtppass=smtppassword

/usr/bin/sendEmail -f $smtpemailfrom -t $zabbixemailto -u $zabbixsubject -m $zabbixbody -s $smtpserver:25 -xu $smtplogin -xp $smtppass

我想知道原因是否是消息中的一些特殊字符,但即使我在主题和正文周围添加引号,它仍然不起作用。

【问题讨论】:

    标签: zabbix


    【解决方案1】:

    建议将输入变量放在双引号中。

    例如,电子邮件主题可能由多个单词组成。以下可能无法正常工作:

    $ export subject=hello world
    $ echo $subject
    hello
    

    同样,Zabbix 宏中使用的花括号对 shell 有特殊意义,请参阅Bash subshell creation with curly braces 问题。

    因此,你应该双引号变量扩展,至少对于那些你不确定内容的变量:

    #!/bin/sh
    export smtpemailfrom=zabbix@yourdomain.com
    export zabbixemailto="$1"
    export zabbixsubject="$2"
    export zabbixbody="$3"
    export smtpserver=yoursmtpserver.com
    export smtplogin=smtpuser
    export smtppass=smtppassword
    
    /usr/bin/sendEmail -f $smtpemailfrom -t "$zabbixemailto" -u "$zabbixsubject" \
                -m "$zabbixbody" -s $smtpserver:25 -xu $smtplogin -xp "$smtppass"
    

    【讨论】:

      猜你喜欢
      • 2022-10-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-09
      • 1970-01-01
      • 2020-11-24
      • 2017-01-27
      • 1970-01-01
      相关资源
      最近更新 更多