Ad Widget

Collapse

Оповещение по почте с авторизацией

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Gabalino
    Senior Member
    • Mar 2013
    • 103

    #1

    Оповещение по почте с авторизацией

    Добрый день. Возникла необходимость отправлять письма в другой домен. По скольку Zabbix не умеет авторизовываться, использую sendEmail + скрипт следующего содержания

    Code:
    #!/bin/sh
    
    export [email protected]
    export zabbixemailto="$1"
    export zabbixsubject="$2"
    export zabbixbody="$3"
    export smtpserver=mail.domain.ru
    export [email protected]
    export smtppass=P@$$WORD
    
    /usr/local/bin/sendEmail -l "$logfile" -f "$smtpemailfrom" -t "$zabbixemailto" -u "$zabbixsubject" -m "$zabbixbody" -s $smtpserver:587 -xu "$smtplogin" -xp "$smtppass"
    Создано Media type пипа script и действие. При вызове скрипта из командной строки письмо отправляется, в Zabbix возникает ошибка
    Code:
    wrong answer on RCPT TO [550 5.7.1 Unable to relay ]
    Подскажите, пожалуйста, в какую сторону копать.
    Используется Zabbix Appliance 2.2
  • yukra
    Senior Member
    • Apr 2013
    • 1359

    #2
    1) Положите вместо своего скрипта что то типа такого:
    Code:
    #!/bin/bash
    
    echo -e "===================\nrun $0\nparam: $#\nall: $*\n1: $1\n2: $2\n3: $3\n4: $4\n" >> /tmp/send_mail.log
    Что бы быть уверенным что все параметры правильно передаются.
    2) сделайте runuser -l zabbix -s /bin/bash и повторно запустите ваш скрипт, может заббиксу прав на что-то не хватает
    3) Вы используете $logfile, но нигде ее не определяете. В этом проблемы не может быть?
    Last edited by yukra; 18-11-2014, 10:13.

    Comment

    • Gabalino
      Senior Member
      • Mar 2013
      • 103

      #3
      Originally posted by yukra
      1) Положите вместо своего скрипта что то типа такого:
      Code:
      #!/bin/bash
      
      echo -e "===================\nrun $0\nparam: $#\nall: $*\n1: $1\n2: $2\n3: $3\n4: $4\n" >> /tmp/send_mail.log
      Что бы быть уверенным что все параметры правильно передаются.
      2) сделайте runuser -l zabbix -s /bin/bash и повторно запустите ваш скрипт, может заббиксу прав на что-то не хватает
      3) Вы используете $logfile, но нигде ее не определяете. В этом проблемы не может быть?
      1)
      Code:
      ./mail_test.sh "[email protected]" "123" "456"
      возвращает
      Code:
      ===================
      run ./mail_test.sh
      param: 3
      all: [email protected] 123 456
      1: [email protected]
      2: 123
      3: 456
      4:
      2) Такая команда не найдена, подключился под пользователем zabbix и выполнил скрипт, всё отработало.
      3) Всё в порядке, просто убрал лишнюю строку когда публиковал
      Last edited by Gabalino; 18-11-2014, 16:04.

      Comment

      • yukra
        Senior Member
        • Apr 2013
        • 1359

        #4
        п.1 и п.2 не совпадают

        Comment

        • aib
          Senior Member
          • Jan 2014
          • 1615

          #5
          Originally posted by Gabalino
          Code:
          wrong answer on RCPT TO [550 5.7.1 Unable to relay ]
          Unable to relay от сервера означает, что вы пытаетесь использовать почтовый сервер для отсылки почты в домен, который не является локальным И на сервере запрещен RELAY (отсылка почты из чужих доменов в чужие домены).
          Обычная настройка по умолчанию, чтобы не допустить спаммерских рассылок.


          Проверьте, какой почтовый сервер используется и донастройте.
          Sincerely yours,
          Aleksey

          Comment

          • sadman
            Senior Member
            • Dec 2010
            • 1611

            #6
            А еще можно использовать sSMTP, например.

            Comment

            • Gabalino
              Senior Member
              • Mar 2013
              • 103

              #7
              Originally posted by aib
              Unable to relay от сервера означает, что вы пытаетесь использовать почтовый сервер для отсылки почты в домен, который не является локальным И на сервере запрещен RELAY (отсылка почты из чужих доменов в чужие домены).
              Обычная настройка по умолчанию, чтобы не допустить спаммерских рассылок.


              Проверьте, какой почтовый сервер используется и донастройте.
              Письмо отправляется от [email protected] через smtp сервер mail.d1.ru, получатель [email protected]. При отправке через командную строку письмо доставляется. Ещё заметил такую особенность, в последних 20 собитиях в графе дейставие, если навести на количество уведомлений в столбце Detail ставится прочерк вместо надписи Email

              Comment

              • Gabalino
                Senior Member
                • Mar 2013
                • 103

                #8
                Всем спасибо, разобрался. У пользователей был указан неверный Media type.

                Comment

                Working...