Procmail - автоотвечик
Модераторы: Trinity admin`s, Free-lance moderator`s
Procmail - автоотвечик
Люди подскажите плз, как сделать автоответчик, используя procmail и
formail .
Имеется /etc/mail/sendmail.cf (исходного *.mc файла нет).
Хотел заменить в /etc/mail/sendmail.cf следующие строки:
< Mlocal, P=/usr/libexec/mail.local, F=lsDFMAw5:/|@qPrmn9S, S=EnvFromL/HdrFromL, R=EnvToL/HdrToL,
---
на
> Mlocal, P=/usr/local/bin/procmail, F=lsDFMAw5:/|@qSPfhn9, S=EnvFromL/HdrFromL, R=EnvToL/HdrToL,
< A=mail $u
---
на
> A=procmail -Y -a $h -d $u
а потом перезапустить sendmail (/usr/sbin/sendmail -L sm-mta -bd -q30m)
Но вот тебе на - ничего не вышло. Ошибка следующая:
554 5.0.0 /etc/mail/sendmail.cf: line 1193: unknown configuration line "r@ #
error @ nouser : "553 User address required""
554 5.0.0 /etc/mail/sendmail.cf: line 1453: unknown configuration line "r<+>
| <=2:*> <*> : <1> | <4> | >2 <3> <?> <1> <>"
Я никогда не редактировал *.cf файлы, а получал их так:
/usr/bin/m4 /usr/share/sendmail/cf/m4/cf.m4 freebsd.mc > sendmail.cf
Ладно, решил бросить локальную настройку для всех, и настроить через .forward (chmod 0400), для конкретного пользователя.
cat .forward
#!/bin/sh
"|exec /usr/local/bin/procmail || exit 75"
пробовал и так
"|exec /usr/local/bin/procmail || exit 75"
и так
"| /usr/local/bin/procmail"
не работает :evil:
cat .procmailrc
MAILDIR=$MAIL
DEFAULT=$MAIL
LOGABSTRACT=all
LOGFILE=$HOME/.procmail/log
FORMAIL=/usr/local/bin/formail
SENDMAIL=/usr/local/sbin/sendmail
VERBOSE=off
# Autoreply
:0 Hc
* !^FROM_DAEMON
* !^X-Loop: vitaly@domain
| (formail -r -A "X-Loop: vitaly@domain"; cat $HOME/.procmail/autoreply.txt) | $SENDMAIL -t (записано в одну строчку)
# Other
:0 H
$DEFAULT
Подскажите плз как заставить всё это работать.
Если бы предыдущий админ не потёр *.mc - то уже б давно сделал.
formail .
Имеется /etc/mail/sendmail.cf (исходного *.mc файла нет).
Хотел заменить в /etc/mail/sendmail.cf следующие строки:
< Mlocal, P=/usr/libexec/mail.local, F=lsDFMAw5:/|@qPrmn9S, S=EnvFromL/HdrFromL, R=EnvToL/HdrToL,
---
на
> Mlocal, P=/usr/local/bin/procmail, F=lsDFMAw5:/|@qSPfhn9, S=EnvFromL/HdrFromL, R=EnvToL/HdrToL,
< A=mail $u
---
на
> A=procmail -Y -a $h -d $u
а потом перезапустить sendmail (/usr/sbin/sendmail -L sm-mta -bd -q30m)
Но вот тебе на - ничего не вышло. Ошибка следующая:
554 5.0.0 /etc/mail/sendmail.cf: line 1193: unknown configuration line "r@ #
error @ nouser : "553 User address required""
554 5.0.0 /etc/mail/sendmail.cf: line 1453: unknown configuration line "r<+>
| <=2:*> <*> : <1> | <4> | >2 <3> <?> <1> <>"
Я никогда не редактировал *.cf файлы, а получал их так:
/usr/bin/m4 /usr/share/sendmail/cf/m4/cf.m4 freebsd.mc > sendmail.cf
Ладно, решил бросить локальную настройку для всех, и настроить через .forward (chmod 0400), для конкретного пользователя.
cat .forward
#!/bin/sh
"|exec /usr/local/bin/procmail || exit 75"
пробовал и так
"|exec /usr/local/bin/procmail || exit 75"
и так
"| /usr/local/bin/procmail"
не работает :evil:
cat .procmailrc
MAILDIR=$MAIL
DEFAULT=$MAIL
LOGABSTRACT=all
LOGFILE=$HOME/.procmail/log
FORMAIL=/usr/local/bin/formail
SENDMAIL=/usr/local/sbin/sendmail
VERBOSE=off
# Autoreply
:0 Hc
* !^FROM_DAEMON
* !^X-Loop: vitaly@domain
| (formail -r -A "X-Loop: vitaly@domain"; cat $HOME/.procmail/autoreply.txt) | $SENDMAIL -t (записано в одну строчку)
# Other
:0 H
$DEFAULT
Подскажите плз как заставить всё это работать.
Если бы предыдущий админ не потёр *.mc - то уже б давно сделал.
Если в $HOME/.forward записать "|exec /usr/local/bin/procmail || exit 75" , то выдаётся следующее сообщение: exit 75"
(файл .forward находится в директории yderbal)
(expanded from: yderbal)
o_voronina@ukr.net
(reason: 550 bad sender rejected (mostly bad configured antivirus))
(expanded from: evoronina)
----- Transcript of session follows ----- 550 5.7.1 /home/yderbal/.forward: line 3: "|exec /usr/local/bin/procmail || exit 75"... User user@domain doesn't have a valid shell for mailing to programs ... while talking to mxs.ukr.net.:
>>> DATA
<<< 550 bad sender rejected (mostly bad configured antivirus) 550 5.1.1 o_voronina@ukr.net... User unknown <<< 503 valid RCPT command must precede DATA
(файл .forward находится в директории yderbal)
(expanded from: yderbal)
o_voronina@ukr.net
(reason: 550 bad sender rejected (mostly bad configured antivirus))
(expanded from: evoronina)
----- Transcript of session follows ----- 550 5.7.1 /home/yderbal/.forward: line 3: "|exec /usr/local/bin/procmail || exit 75"... User user@domain doesn't have a valid shell for mailing to programs ... while talking to mxs.ukr.net.:
>>> DATA
<<< 550 bad sender rejected (mostly bad configured antivirus) 550 5.1.1 o_voronina@ukr.net... User unknown <<< 503 valid RCPT command must precede DATA
- corvax
- free-lance moderator
- Сообщения: 877
- Зарегистрирован: 06 авг 2004, 17:21
- Откуда: Kiev, Ukraine
- Контактная информация:
Re: Procmail - автоотвечик
ну так надо посмотреть, что там в строках 1193 и 1453 и близлежащихvitaly писал(а):Люди подскажите плз, как сделать автоответчик, используя procmail и
formail .
Имеется /etc/mail/sendmail.cf (исходного *.mc файла нет).
Хотел заменить в /etc/mail/sendmail.cf следующие строки:
< Mlocal, P=/usr/libexec/mail.local, F=lsDFMAw5:/|@qPrmn9S, S=EnvFromL/HdrFromL, R=EnvToL/HdrToL,
---
на
> Mlocal, P=/usr/local/bin/procmail, F=lsDFMAw5:/|@qSPfhn9, S=EnvFromL/HdrFromL, R=EnvToL/HdrToL,
< A=mail $u
---
на
> A=procmail -Y -a $h -d $u
а потом перезапустить sendmail (/usr/sbin/sendmail -L sm-mta -bd -q30m)
Но вот тебе на - ничего не вышло. Ошибка следующая:
554 5.0.0 /etc/mail/sendmail.cf: line 1193: unknown configuration line "r@ #
error @ nouser : "553 User address required""
554 5.0.0 /etc/mail/sendmail.cf: line 1453: unknown configuration line "r<+>
| <=2:*> <*> : <1> | <4> | >2 <3> <?> <1> <>"
cd /etc/mail && make cfvitaly писал(а):Я никогда не редактировал *.cf файлы, а получал их так:
/usr/bin/m4 /usr/share/sendmail/cf/m4/cf.m4 freebsd.mc > sendmail.cf
все остальное - от лукавого
вам же положили в /etc/mail файл Makefile, который учитывает больше ньюансов сборки sendmail.cf, чем вы сами
наверное не вспомню, в какой именно доке читал о .forward, но вы то откуда брали свои варианты?vitaly писал(а):Ладно, решил бросить локальную настройку для всех, и настроить через .forward (chmod 0400), для конкретного пользователя.
cat .forward
#!/bin/sh
"|exec /usr/local/bin/procmail || exit 75"
пробовал и так
"|exec /usr/local/bin/procmail || exit 75"
и так
"| /usr/local/bin/procmail"
не работает :evil:
стОит для начала решить, нужно ли использовать procmail в качестве локального доставщика, или все же вы хотите запускать procmail из .forward?vitaly писал(а):cat .procmailrc
MAILDIR=$MAIL
DEFAULT=$MAIL
LOGABSTRACT=all
LOGFILE=$HOME/.procmail/log
FORMAIL=/usr/local/bin/formail
SENDMAIL=/usr/local/sbin/sendmail
VERBOSE=off
# Autoreply
:0 Hc
* !^FROM_DAEMON
* !^X-Loop: vitaly@domain
| (formail -r -A "X-Loop: vitaly@domain"; cat $HOME/.procmail/autoreply.txt) | $SENDMAIL -t (записано в одну строчку)
# Other
:0 H
$DEFAULT
Подскажите плз как заставить всё это работать.
а что мешает заново нарисовать sendmail.mc?vitaly писал(а):Если бы предыдущий админ не потёр *.mc - то уже б давно сделал.
--
/corvax
/corvax
- corvax
- free-lance moderator
- Сообщения: 877
- Зарегистрирован: 06 авг 2004, 17:21
- Откуда: Kiev, Ukraine
- Контактная информация:
судя по всему, это ответ exim'а со стороны коллектора ukr.net'аvitaly писал(а):Если в $HOME/.forward записать "|exec /usr/local/bin/procmail || exit 75" , то выдаётся следующее сообщение: exit 75"
(файл .forward находится в директории yderbal)
(expanded from: yderbal)
o_voronina@ukr.net
(reason: 550 bad sender rejected (mostly bad configured antivirus))
(expanded from: evoronina)
----- Transcript of session follows ----- 550 5.7.1 /home/yderbal/.forward: line 3: "|exec /usr/local/bin/procmail || exit 75"... User user@domain doesn't have a valid shell for mailing to programs ... while talking to mxs.ukr.net.:
>>> DATA
<<< 550 bad sender rejected (mostly bad configured antivirus) 550 5.1.1 o_voronina@ukr.net... User unknown <<< 503 valid RCPT command must precede DATA
для начала я бы посоветовал нарисовать совсем простой .procmailrc (для начала просто с сохранением полученного письма в файл), чтобы не смешивать в одну кучу проблемы использования procmail'а и проблемы пересылки письма отправителю из этого procmailrc
--
/corvax
/corvax
Re: Procmail - автоотвечик
Makfiile - стёрли (может его где-нибудь взять и положить обратно. Версия sendmail-8.13.1)corvax писал(а):
cd /etc/mail && make cf
все остальное - от лукавого
вам же положили в /etc/mail файл Makefile, который учитывает больше ньюансов сборки sendmail.cf, чем вы сами
corvax писал(а):
наверное не вспомню, в какой именно доке читал о .forward, но вы то откуда брали свои варианты?
В man procmail
"|exec /usr/local/bin/procmail || exit 75" прописать в файл .forward.
Да мне сейчас всёравно как - главное чтобы всё это работало, а то будет мне ...corvax писал(а):
стОит для начала решить, нужно ли использовать procmail в качестве локального доставщика, или все же вы хотите запускать procmail из .forward?
corvax писал(а):
а что мешает заново нарисовать sendmail.mc?
вот прейдется рисовать sendmail.mc заново (только вот надо разобраться, как включить поддержку spamassassin drweb в *.mc ).
изменил .procmailrc, так что бы procmail ложил всё в оду директорию - и не работает (судя из всего этого через .forward настроить не получиться)
cat .procmailrc
SHELL=/bin/sh
MAILDIR=$HOME/Mail
DEFAULT=$MAILDIR/Default
LOGABSTRACT=all
LOGFILE=$HOME/.procmail/log
FORMAIL=/usr/local/bin/formail
SENDMAIL=/usr/local/sbin/sendmail
VERBOSE=off
# all mail
:0 H
$MAILDIR
cat .procmailrc
SHELL=/bin/sh
MAILDIR=$HOME/Mail
DEFAULT=$MAILDIR/Default
LOGABSTRACT=all
LOGFILE=$HOME/.procmail/log
FORMAIL=/usr/local/bin/formail
SENDMAIL=/usr/local/sbin/sendmail
VERBOSE=off
# all mail
:0 H
$MAILDIR
- corvax
- free-lance moderator
- Сообщения: 877
- Зарегистрирован: 06 авг 2004, 17:21
- Откуда: Kiev, Ukraine
- Контактная информация:
Re: Procmail - автоотвечик
в таких случаях важна не столько сама версия, сколько sendmail используется из системы или из портов. если из системы, тоvitaly писал(а):Makfiile - стёрли (может его где-нибудь взять и положить обратно. Версия sendmail-8.13.1)corvax писал(а):
cd /etc/mail && make cf
все остальное - от лукавого
вам же положили в /etc/mail файл Makefile, который учитывает больше ньюансов сборки sendmail.cf, чем вы сами
cp /usr/src/etc/mail/Makefile /mail/Makefile
если из портов, то проще выполнить
portupgrade -f sendmail
поскольку я совершенно не помню, где там валяется Makefile для /etc/mail
эта тема тут обсасывалась немерянное количество разvitaly писал(а):corvax писал(а):наверное не вспомню, в какой именно доке читал о .forward, но вы то откуда брали свои варианты?
В man procmail
"|exec /usr/local/bin/procmail || exit 75" прописать в файл .forward.
Да мне сейчас всёравно как - главное чтобы всё это работало, а то будет мне ...corvax писал(а):стОит для начала решить, нужно ли использовать procmail в качестве локального доставщика, или все же вы хотите запускать procmail из .forward?
вот прейдется рисовать sendmail.mc заново (только вот надо разобраться, как включить поддержку spamassassin drweb в *.mc ).corvax писал(а):а что мешает заново нарисовать sendmail.mc?
--
/corvax
/corvax
- corvax
- free-lance moderator
- Сообщения: 877
- Зарегистрирован: 06 авг 2004, 17:21
- Откуда: Kiev, Ukraine
- Контактная информация:
а что в $HOME/.procmail/log пишется? и еще - пока лучше сделать VERBOSE=yesvitaly писал(а):изменил .procmailrc, так что бы procmail ложил всё в оду директорию - и не работает (судя из всего этого через .forward настроить не получиться)
cat .procmailrc
SHELL=/bin/sh
MAILDIR=$HOME/Mail
DEFAULT=$MAILDIR/Default
LOGABSTRACT=all
LOGFILE=$HOME/.procmail/log
FORMAIL=/usr/local/bin/formail
SENDMAIL=/usr/local/sbin/sendmail
VERBOSE=off
# all mail
:0 H
$MAILDIR
--
/corvax
/corvax
Это я для себя в $HOME/.procmail/log положил.corvax писал(а): а что в $HOME/.procmail/log пишется? и еще - пока лучше сделать VERBOSE=yes
Вот пересобрал sendmail.cf, но при запуске sendmail (killall sendmail && /usr/sbin/sendmail -L sm-mta -bd -q30m) выдаётся следующее сообщение:
WARNING: Xspamassassin: local socket name /var/run/spamass-milter missing
- Вложения
-
[Расширение mc было запрещено, вложение больше недоступно.]
- corvax
- free-lance moderator
- Сообщения: 877
- Зарегистрирован: 06 авг 2004, 17:21
- Откуда: Kiev, Ukraine
- Контактная информация:
это я понял. я имел ввиду, procmail в него хоть что-то пишет?vitaly писал(а):Это я для себя в $HOME/.procmail/log положил.corvax писал(а): а что в $HOME/.procmail/log пишется? и еще - пока лучше сделать VERBOSE=yes
spamass-milter не загружен или слушает другой сокетvitaly писал(а):Вот пересобрал sendmail.cf, но при запуске sendmail (killall sendmail && /usr/sbin/sendmail -L sm-mta -bd -q30m) выдаётся следующее сообщение:
WARNING: Xspamassassin: local socket name /var/run/spamass-milter missing
p. s. ну и что за варварские способы перегружать sendmail?
--
/corvax
/corvax
VERBOSE=yes и нечего в log не пишетcorvax писал(а): это я понял. я имел ввиду, procmail в него хоть что-то пишет?
spamass-milter загружен (/var/run/spamass-milter.sock).corvax писал(а): spamass-milter не загружен или слушает другой сокет
ps -ax | grep spam
487 ?? Is 1:48.47 /usr/local/bin/spamd -u spamassassin -a -c -d -r /var/run/spamd.pid (perl5.8.5)
496 ?? Ss 5:23.01 /usr/local/sbin/spamass-milter -f -p /var/run/spamass-milter.sock -b alex (alex - это пользователь от имени которого он запускается?)
Ситуация следующая: при использовании своего sendmail.cf выдаётс я ошибка, а при использовании sendmail.cf, который работал до этого - всё нормально (даже варварским способом).
Неварварский способ это /etc/rc.d/sendmail restart или как?corvax писал(а): p. s. ну и что за варварские способы перегружать sendmail?
- corvax
- free-lance moderator
- Сообщения: 877
- Зарегистрирован: 06 авг 2004, 17:21
- Откуда: Kiev, Ukraine
- Контактная информация:
ну, можно было и самому напрячься и сравнить это имя сокета с именем сокета из сообщения об ошибкеvitaly писал(а):VERBOSE=yes и нечего в log не пишетcorvax писал(а): это я понял. я имел ввиду, procmail в него хоть что-то пишет?
spamass-milter загружен (/var/run/spamass-milter.sock).corvax писал(а): spamass-milter не загружен или слушает другой сокет
если поправить в sendmail.mc имя сокета, то с ошибкой будет уже легчеvitaly писал(а):ps -ax | grep spam
487 ?? Is 1:48.47 /usr/local/bin/spamd -u spamassassin -a -c -d -r /var/run/spamd.pid (perl5.8.5)
496 ?? Ss 5:23.01 /usr/local/sbin/spamass-milter -f -p /var/run/spamass-milter.sock -b alex (alex - это пользователь от имени которого он запускается?)
Ситуация следующая: при использовании своего sendmail.cf выдаётс я ошибка, а при использовании sendmail.cf, который работал до этого - всё нормально (даже варварским способом).
да, именно так, если sendmail из системыvitaly писал(а):Неварварский способ это /etc/rc.d/sendmail restart или как?corvax писал(а):p. s. ну и что за варварские способы перегружать sendmail?
--
/corvax
/corvax
Вроде всё, но есть одно большое НО.
Пересобрал sendmail.cf, перезапустил sendmail - всё работает.
Но когда добавляю поддержку procmail - то почта отправляется, но не забирается и в $HOME/.procmail/log ничего не пишется.
Что и где исправить (перебрал все варианты, даже переставил procmail.
В дополнение файл sendmail.mc во вложениии.
Пересобрал sendmail.cf, перезапустил sendmail - всё работает.
Но когда добавляю поддержку procmail - то почта отправляется, но не забирается и в $HOME/.procmail/log ничего не пишется.
Что и где исправить (перебрал все варианты, даже переставил procmail.
В дополнение файл sendmail.mc во вложениии.
- Вложения
-
[Расширение mc было запрещено, вложение больше недоступно.]
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 11 гостей