Типа, приходят письма, раскладываются, как обычно по почтовым ящикам, а е-серв на каждое письмо по обратному адресу отправляет свое письмо с текстом, типа:"А у нас Новый Год до 11-го". Как это сделать?
Комментарии к этой версии (29.12.2004 11:48) [~Mefagon] 877eadb8
Можно, хотя и сложно. Навесить на каждый ящик робота, который формировал бы такие автоответы. Было даже решение, и у меня файлики валяются. CFG для робота на базе Erobot:
( This is configuration file for Erobot.
Example of autoreply. With this config Erobot will read
incoming mail messages and create outgoing mail for sender.
See the *.pat files for example of robot answers.
)
VARIABLE Recipients ( список получателей )
VARIABLE Senders ( список отправителей )
: PatternFile ( -- addr u )
P1 @ COUNT
;
: FROM ( -- addr u )
Senders @ ?DUP IF NodeValue XCOUNT ELSE S" " THEN
;
: TO- ( -- addr u )
Recipients @ ?DUP IF NodeValue XCOUNT ELSE S" " THEN
;
: DATE- ( -- addr u )
S" Date:" GetFieldValue
;
: SUBJ ( -- addr u )
S" Subject:" GetFieldValue
;
: FileExists ( addr u -- flag )
R/O OPEN-FILE ?DUP
IF NIP DUP 2 = SWAP 3 = OR 0=
ELSE CLOSE-FILE THROW TRUE
THEN
;
: PAT ( addr u -- )
2DUP FileExists
IF
TO- NewErobotSpoolFile 2DUP TYPE CR
R/W CREATE-FILE-NOT-SHARED THROW EvalPattern
ELSE TYPE ." - not exists" CR THEN
;
: AutoAnswer PatternFile PAT ;
: ReplyProc
S" From:" GetFieldValue Senders ParseRcpt
S" To:" GetFieldValue Recipients ParseRcpt
AutoAnswer CR
;
: MessageEnd
['] ReplyProc CATCH .
ICO @ DELETE-TRAY-ICON DROP
BYE
;
И шаблон ответа для него же:
For: %FROM%
From: %TO-%
To: %FROM%
Date: %DATE-%
Subject: Re: %SUBJ%
Mime-Version: 1.0
Content-Type: text/plain; charset=windows-1251
Content-Transfer-Encoding: 8bit
Извините, я в отпуске.
.
Только самого робота (это должен быть Bat-файл) нет. Что-то типа:
Уважаемый pig!
Есть нюанс. Все что Вы написали работает, НО....
Решил создать несколько автоответчиков и стал проверять их работу в локальной почте. И заметил , что если в поле КОМУ стоят 2 и более адресатов с включенными автоответчиками, то отрабатывается только тот, чье задание в планировщике стоит первым. Неподскажите, как это побороть?
Подозреваю, что дело не в планировщике на самом деле. Покажите лог тоссера и лог планировщика, где видно, что письма доставляются двум роботам, а срабатывает только один.
Подумал, что есть зависимость от алфавитной сортировки: 0,1...9,a,b...x.z
Создал юзера и послал письмо
Последовательность в поле КОМУ: vasy@www.ru; ilya@www.ru
*eserv.ini*
Schedule: ilya TRUE 6 18:00|cmd.exe /c agents\Autoans\ilya.cmd %MailFileName% %TempFile%.robot||||
Schedule: Vasy TRUE 6 18:00|cmd.exe /c agents\Autoans\1c.cmd %MailFileName% %TempFile%.robot|||| *toss.log *
10:34:43 1285 it@www.ru!12851066174109!LOCAL!1
10:34:43 1285 <002001ca56d7$f67b6600$e3723200$@www.ru>
10:34:43 1285 For: ilya@www.ru
10:34:43 1285 Local user: ilya
10:34:43 1285 For: vasy@www.ru
10:34:43 1285 Local user: vasy
10:34:43 1285 Local user: company
10:34:43 1285
10:34:47 1317 ilya@www.ru!erobot!1066177156!1
10:34:47 1317
10:34:47 1317 For: it@www.ru
10:34:47 1317 Local user: it
10:34:47 1317 Local user: company
10:34:47 1317
ink пишет: второй робот письма не видит, ведь мы пересылаем его (письмо) в \temp
Угу, истина где-то рядом. И как это бороть? Не представляю. Разве что MContent заряжать в работу, он справится.
ink пишет: пришел ответ от 1c причем с текстом из vasy.pat
Это более-менее понятно, адрес автоответчика выбирается из шапки письма, именно из поля To:. Можно его передавать роботу как параметр, раз на каждого пользователя отдельный батник.
ink пишет: Выбирается отправитель 1с, т.к. он первый по алфавитной нумерации у тосера.
Не у тоссера даже, а в шапке письма. Робот знать не знает, чей ящик он обрабатывает.
У робота есть два пара универсальных ключей с параметрами: -p1 строка и -p2 строка. Вот их и можно использовать, подкрутив соответственно CFG-файл и батник. Даже примеры где-то были, по-моему, в извещениях антивируса.
Но это не снимет проблемы с перемещением файла. А не перемещать нельзя, надо письмо удалять, чтобы не зациклилось. Но удалять надо после обработки пачки роботов. А роботы запускаются абсолютно независимо...
По-моему, надо звать на помощь MContent, раз такие проблемы. Или переходить на PigMail, там автоответчики поддерживаются штатно.
И шаблон ответа для него же:
Только самого робота (это должен быть Bat-файл) нет. Что-то типа:
А командная строка запуска робота в планировщике такая:
Есть нюанс. Все что Вы написали работает, НО....
Решил создать несколько автоответчиков и стал проверять их работу в локальной почте. И заметил , что если в поле КОМУ стоят 2 и более адресатов с включенными автоответчиками, то отрабатывается только тот, чье задание в планировщике стоит первым. Неподскажите, как это побороть?
Послал письмо на 2 адреса
Последовательность в поле КОМУ: ilya@www.ru; 1c@www.ru
*eserv.ini*
Schedule: ilya TRUE 6 18:00|cmd.exe /c agents\Autoans\ilya.cmd %MailFileName% %TempFile%.robot||||
Schedule: 1c TRUE 6 18:00|cmd.exe /c agents\Autoans\1c.cmd %MailFileName% %TempFile%.robot||||
*toss.log *
10:19:52 171 it@www.ru!1711065282921!LOCAL!1
10:19:52 171 <001801ca56d5$e34bd120$a9e37360$@www.ru>
10:19:52 171 For: 1c@www.ru
10:19:52 171 Local user: 1c
10:19:52 171 For: ilya@www.ru
10:19:52 171 Local user: ilya
10:19:52 171 Local user: company
10:19:52 171
10:21:08 320 1c@www.ru!erobot!1065285968!1
10:21:08 320
10:21:08 320 For: it@www.ru
10:21:08 320 Local user: it
10:21:08 320 Local user: company
10:21:08 320
*sch.log*
10:19:52 171 1c
10:19:52 171 cmd.exe /c agents\Autoans\1c.cmd %MailFileName% %TempFile%.robot
10:19:52 171 1
пришел ответ от 1с
ред: 27.10.2009 11:50
Создал юзера и послал письмо
Последовательность в поле КОМУ: vasy@www.ru; ilya@www.ru
*eserv.ini*
Schedule: ilya TRUE 6 18:00|cmd.exe /c agents\Autoans\ilya.cmd %MailFileName% %TempFile%.robot||||
Schedule: Vasy TRUE 6 18:00|cmd.exe /c agents\Autoans\1c.cmd %MailFileName% %TempFile%.robot||||
*toss.log *
10:34:43 1285 it@www.ru!12851066174109!LOCAL!1
10:34:43 1285 <002001ca56d7$f67b6600$e3723200$@www.ru>
10:34:43 1285 For: ilya@www.ru
10:34:43 1285 Local user: ilya
10:34:43 1285 For: vasy@www.ru
10:34:43 1285 Local user: vasy
10:34:43 1285 Local user: company
10:34:43 1285
10:34:47 1317 ilya@www.ru!erobot!1066177156!1
10:34:47 1317
10:34:47 1317 For: it@www.ru
10:34:47 1317 Local user: it
10:34:47 1317 Local user: company
10:34:47 1317
*sch.log*
10:34:43 1285 Vasy
10:34:43 1285 cmd.exe /c agents\Autoans\1c.cmd %MailFileName% %TempFile%.robot
10:34:43 1285 1
пришел ответ от ilya причем с текстом из 1c.pat
Ничего не понимаю...(С)
Послал письмо на 3 адреса. Заметьте: у 1с автоответчик отключен.
Последовательность в поле КОМУ: vasy@www.ru; ilya@www.ru; 1c@www.ru
*eserv.ini*
Schedule: ilya TRUE 6 18:00|cmd.exe /c agents\Autoans\ilya.cmd %MailFileName% %TempFile%.robot||||
Schedule: Vasy TRUE 6 18:00|cmd.exe /c agents\Autoans\vasy.cmd %MailFileName% %TempFile%.robot||||
*toss.log *
11:35:17 139 it@www.ru!1391069808140!LOCAL!1
11:35:17 139 <002d01ca56e0$6c879b90$4596d2b0$@www.ru>
11:35:17 139 For: 1c@www.ru
11:35:17 139 Local user: 1c
11:35:17 139 For: ilya@www.ru
11:35:17 139 Local user: ilya
11:35:17 139 For: vasy@www.ru
11:35:17 139 Local user: vasy
11:35:17 139 Local user: company
11:35:17 139
11:35:33 173 1c@www.ru!erobot!1069811171!1
11:35:33 173
11:35:33 173 For: it@www.ru
11:35:33 173 Local user: it
11:35:33 173 Local user: company
11:35:33 173
*sch.log*
11:35:17 139 Vasy
11:35:17 139 cmd.exe /c agents\Autoans\vasy.cmd %MailFileName% %TempFile%.robot
11:35:17 139 1
пришел ответ от 1c причем с текстом из vasy.pat
Говорю сразу, что есерв (2.99/3537/startNTns/noreg) перед каждой из трех отправок перезагружал.
Ваши мысли? Похоже что-то с "кешем" или "памятью" или "буфером" ...
Угу, истина где-то рядом. И как это бороть? Не представляю. Разве что MContent заряжать в работу, он справится.
Это более-менее понятно, адрес автоответчика выбирается из шапки письма, именно из поля To:. Можно его передавать роботу как параметр, раз на каждого пользователя отдельный батник.
Непонял. Ведь у 1с автоответчик был отключен. Т.Е, автоответ был сформирован по такому "
ПРАВИЛУ":Это как? Будьте добры, поподробнее.
ред: 28.10.2009 19:24
Не у тоссера даже, а в шапке письма. Робот знать не знает, чей ящик он обрабатывает.
У робота есть два пара универсальных ключей с параметрами: -p1 строка и -p2 строка. Вот их и можно использовать, подкрутив соответственно CFG-файл и батник. Даже примеры где-то были, по-моему, в извещениях антивируса.
Но это не снимет проблемы с перемещением файла. А не перемещать нельзя, надо письмо удалять, чтобы не зациклилось. Но удалять надо после обработки пачки роботов. А роботы запускаются абсолютно независимо...
По-моему, надо звать на помощь MContent, раз такие проблемы. Или переходить на PigMail, там автоответчики поддерживаются штатно.