Есть Eserv3 c PigMail. Понадобилось подключить внешний почтовый робот.
Для теста я включил сначало робота из примера, но меня постигло глубокое разочарование
Вот настройки и логи:
\CONF.pigmail\lists\smtp\ToEmailRobots.txt
EMAIL;ENABLED;IS_GLOBAL;IS_ABUSE;MAX_MSG_SIZE;IS_INLINE;COMMAND;REPLY;IGNORE
g1@draga.ru;1;1;1;0;0;"cmd.exe /c ..\robots\Robot.bat {''}{ROBOTFILENAME}{''} {MAILFROM} {PIG.REALRCPTTO}";"It's simply a robot";0
int.robot@my-own-domain2.ru;1;0;0;0;1;smtp\robots\InlineRobot;"It's simply a robot";0
\acSMTP\myconf\smtp\delivery\CheckRobot.rules.txt
\ Вычисления этих правил должны вернуть TRUE, если добавить этого
\ получателя (из команды RCPT TO), или FALSE, если не добавлять.
SetRobotRcpt \ отметить, что получатель - робот
FIELD4 >FLAG Pig.SetAbuseRecipient FIELD5 >NUM Pig.MaxMessageSize Pig.BoostMessageSizeLimit
\ если робот неактивен, выдать ответ и отключиться
FIELD2 >FLAG 0=
[IF]
S" disabled-robot" SetMessageClass \ установить класс сообщения
S" Robot is disabled, rejected" 2407 LOG \ записать событие в журнал
" 554 {RCPTTO} service is temporarily disabled by administrator. Try again later{CRLF}" RcptToError
[THEN]
\ если отправитель из черного списка - обработать отдельно
Pig.IsBlacklisted | EvalRules: smtp\delivery\BlacklistSender \EOF
\ если не отвергнут, то принимаем получателя
EvalRules: smtp\delivery\AcceptRobot
acSMTP\myconf\smtp\delivery\AcceptRobot.txt
\ прием адреса робота
\ это сложное правило вызывается из CheckRecipient.rules
\ если не отвергнут, то принимаем получателя
[DEFINED] Pig.AddLocalRcpt [IF] \ работа с автоответчиками
\ проверить, не блокирован ли автоответ
Pig.IsNoAutoReply Pig.IsBounceRecipient OR Pig.IsBlacklisted OR 0= AND
| RCPTTO Pig.AddLocalRcpt \ запомнить для глобального автоответа
[THEN]
Pig.IsBlacklisted \ не черный ли список?
[IF]
S' "Abuse" robot, accepted' 2407 LOG \ записать событие в журнал
[ELSE]
S" Robot, accepted" 2407 LOG \ записать событие в журнал
[THEN]
" 250 {RCPTTO} OK, my domain user. {FIELD8}{CRLF}" Pig.SMTP_FPUTS TRUE
Получаем ошибки при отправке:
\acSMTP\acSMTP.log
Exception #2 at: myconf\smtp\delivery\CheckRobot.rules.txt:20:37:
EvalRules: smtp\delivery\AcceptRobot
^
Exception #2 at: myconf\smtp\delivery\CheckRobot.rules.txt:20:37:
EvalRules: smtp\delivery\AcceptRobot
^
Exception #2 at: myconf\smtp\delivery\CheckRecipient.rules.txt:74:44:
| EvalRules: smtp\delivery\CheckRobot \EOF \ если всё в порядке, то выполняется обработка отдельного файла правил
^
Exception #2 at: myconf\smtp\RCPTTO.rules.txt:40:40:
EvalRules: smtp\delivery\CheckRecipient
^
\DATA\log\20070122SMTPErr.log
17:03:31 22 Error 2 in the rule file "myconf\smtp\delivery\CheckRobot.rules.txt", line: 20, char: 37
17:03:31 22 Error 2 in the rule file "myconf\smtp\delivery\CheckRobot.rules.txt", line: 20, char: 37
17:03:31 22 Error 2 in the rule file "myconf\smtp\delivery\CheckRecipient.rules.txt", line: 74, char: 44
17:03:31 22 Error 2 in the rule file "myconf\smtp\RCPTTO.rules.txt", line: 40, char: 40
Подскажите, пожалуйста, как с этим бороться?
Заранее спасибо.

Спасибо за баг-репорт.