LINUX.ORG.RU
ФорумAdmin

smrsh: как передать параметр из aliases в скрипт?


0

0

Sendmail.cf собран с feature(smrsh)
Coздан /usr/adm/sm.bin в соответствии с readme
В нем создан протой тестовый скрипт test:
cat /var/log/messages| egrep "DROP" | mail -s_stat root

/etc/mail/aliases:
stat: |/usr/adm/sm.bin/test

Посылаю письмо на stat@mydomain.ru
срабатывает test-скрипт и получаю письмо c отчетом на root

Теперь хотелось бы, чтобы test-скрипту передавался параметр
Редактирую test:
cat /var/log/messages| egrep "DROP" | mail -stest "$1"
Запускаю этот скрипт вручную: test root - все нормально
Теперь нужно отредактировать aliases, чтобы ответ посылался тому,
кто прислал письмо на stat@anrb.ru
Возможно ли это?
Существуют ли какие-нибудь стандартные переменные, указывающие, например,
обратный адрес, которые можно было бы указать в aliases?
На удачу пробовались $u, %u - не прошло. Начинает искать хост u :(

Подскажите, как это можно реализовать?



anonymous

На сколько я помню, ты там можешь вообще все письмо прочитать, причем чуть ли не из stdin ... Оттуда, соответственно, берется все что хочешь ...

Во всяком случае когда-то давно я делал программулину, которая на sms через e-mail отправляла уведомление о том, что в почтовый ящик упало письмо с указанием отправителя и темы сообщения.

Anton_Khalikov
()

А ! В aliases надо указать:
user: user, |my_script

т.е. в my_script письмо передается через канал "|" ... Ну, вобщем, что-то такое ...

Anton_Khalikov
()

Спасибо за идею!
Пожалуй попробую так:
user: file, |my_script
А из файла буду выбирать обратный адрес и другие нужные данные.
В частности, планирую еще и проверку темы сообщения сделать, чтобы кто попало не мог юзать этот адрес и соответсвенно скрипт

anonymous
()

Погоди, дак нафига писать письмо в файл, если оно у тебя в stdin передается ? Хотя, дело твое, конечно, но ты подумай что произойдет, если одновременно два письма придут ... Имя файла-то у тебя НЕ уникальное !!! Я вообще ту приблуду писал на php. И, соответственно, fopen("php://stdin") открывало то, что нужно. Но, ИМХО, проще было бы даже это на C накатать, но я тогда в C не силен был (да и сейчас не очень-то :-)) ...

Anton_Khalikov
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.