Я пытаюсь выполнить следующие действия. Но нет sendEmail на CentOS 7. Я рассмотрел несколько альтернатив, например Постфикс, но я не уверен в командах скрипта.
В качестве альтернативы вы можете использовать sendEmail.
1) apt-get install sendEmail
2) Создайте сценарий «zabbix_sendemail» (chmod 755) в папке AlertScriptsPath, указанной в /etc/zabbix/zabbix_server.conf
> #!/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
3) Установите действие (конфигурации / действия в интерфейсе php)
4) Установите сценарий Media Type (Administration / Media types in the php frontend) на zabbix_sendemail
5) Добавьте медиа пользователю (Администрация / Пользователи / пользователь в интерфейсе php) Ответить с цитатой
Вам следует установить mailx (yum install mailx
).
Похоже, вы можете заменить скрипт на это:
#!/bin/sh
echo "$3" | /bin/mailx \
-r zabbix@yourdomain.example \
-s "$2" \
-S smtp="yoursmtpserver.example:25" \
-S smtp-auth=login \
-S smtp-auth-user="your-user" \
-S smtp-auth-password="your-password" \
"$1"
Рассмотрите возможность использования порта 587 (отправка) для таких сообщений, если они всегда доставляются непосредственно в MTA доставки (т. Е. Последнему). В противном случае просмотрите справочную страницу, чтобы узнать, как использовать STARTTLS для защиты вашего пароля.
Авторам примеров должно быть стыдно за то, что они не цитируют свои переменные оболочки ...
Я думаю, что centos помещает mailx в / bin / mailx, но он также может быть в / usr / bin / mailx.
Sendemail
это Perl script, поэтому его легко установить везде, где есть Perl. URL-адрес восходящего потока http://www.caspian.dotconf.net/menu/Software/SendEmail/, и у них есть предустановленные обороты в минуту. Это не имеет ничего общего с Postfix.
Для CentO хорошо работает комбинация postfix и sendemail. Не забудьте запустить службу postfix до отправки электронной почты.
Чтобы оставаться в безопасности, убедитесь, что
mynetworks_style = host
в /etc/postfix/main.cnf
Я предполагаю, что ваш "sendEmail" просто Отправить почту. У Postfix есть свой / usr / sbin / sendmail двоичный файл, который должен работать практически с любым пакетом, совместимым с sendmail.
Как я вижу, вы хотите переслать свою почту на удаленный SMTP-сервер. Zabbix изначально поддерживает SMTP-соединение, так почему бы не использовать встроенный механизм вместо вызова двоичного файла sendmail?