Обсуждение программ nnCron и nnCron LITE
by Aveiro » Sat, 09 Jul 2011, 20:03
....попробовал. С MsgBox все правильно. А вот в консоли TYPE не показывает сного текст из буфера, все как на скриншотах выше. Второй запуск задачи- дописывает текст из буфера. Ладно всем спасибо за помощь, букв А нет,значит что это оператор связи виноват.
nncron.exe v 1.93b15 Build 1177 08.02.2016 tm.exe v 1.93b15 Build 604 08.02.2016
-
Aveiro
-
- Posts: 222
- Joined: Tue, 06 Jul 2010, 21:19
by VoidVolker » Sun, 10 Jul 2011, 07:22
У меня все нормально печатается в консоли.
-

VoidVolker
- Site Admin
-
- Posts: 2907
- Joined: Tue, 25 Apr 2006, 17:56
by Aveiro » Sun, 04 Sep 2011, 14:22
Не знаю что произошло,но перестали отсылаться SMS и письма. Причем одна и та-же задача выполняется нормально с ноутбука,а с компьютера показывает ошибку: Плагин подключен, лежит в папке others. Задачу упростил до минимума. - Code: Select all
####################################################################################################################################################################################################### #( SMS WatchFile: "D:\SYSTEM\Control\SMS_GATE.flag" Action: S" Тестовое сообщение" \ текст S" тема письма" \ тема S" sidorov@yandex.ru" \ mail кому S" ivanov@mail.ru" \ mail от кого S" ivanov" \ логин S" 12345" \ пароль S" smtp.mail.ru" 25 \ адрес smtp сервера и порт SMTP-SEND&ATTACH ?DUP IF MSG: "ошибка отправки: %0 esPICK%" ELSE MSG: "ОК" THEN )# #######################################################################################################################################################################################################
Файервол отключен.Ноут и комп работают из одной сети (рядом 1 метр) Ноут отсылает,комп нет. Вот что выдается :  и вот:  Отключил все кронтабы,оставил только с этой задачей,не помогло.
nncron.exe v 1.93b15 Build 1177 08.02.2016 tm.exe v 1.93b15 Build 604 08.02.2016
-
Aveiro
-
- Posts: 222
- Joined: Tue, 06 Jul 2010, 21:19
by Aveiro » Sun, 04 Sep 2011, 15:48
Ура-ура ! Пол дня провозился,чтобы найти причину. Сейчас поудалял все дополнительные плагины,оставил только те все,что шли с установкой крона.Заработала задача. Теперь по одному буду добавлять,чтобы найти тот,что конфликтует с smtp.Найду,отпишусь. Спустя времяP.S это просто чудеса какие-то, дело оказывается было не в подключенных плагинах, а в том ,в каком порядке они были подключены. Стоило в ini поставить плагин smtp сразу после основных и все,проблема ушла.....ух. Порядок подключения плагинов оказывается имеет очень важное значение.
nncron.exe v 1.93b15 Build 1177 08.02.2016 tm.exe v 1.93b15 Build 604 08.02.2016
-
Aveiro
-
- Posts: 222
- Joined: Tue, 06 Jul 2010, 21:19
by VoidVolker » Sun, 04 Sep 2011, 16:50
Aveiro wrote:не в подключенных плагинах, а в том ,в каком порядке они были подключены.
Возможно конфликт имен слов. Если WARNING включен, то к консоли сообщается о конфликте имен. Aveiro wrote: Стоило в ini поставить плагин smtp сразу после основных и все,проблема ушла.....ух
Думаю, стоит выяснить какие именно плагины конфликтуют.
-

VoidVolker
- Site Admin
-
- Posts: 2907
- Joined: Tue, 25 Apr 2006, 17:56
by Aveiro » Sun, 04 Sep 2011, 16:58
VoidVolker wrote:Думаю, стоит выяснить какие именно плагины конфликтуют.
Да,пригодилось бы. Каков порядок действий ?
nncron.exe v 1.93b15 Build 1177 08.02.2016 tm.exe v 1.93b15 Build 604 08.02.2016
-
Aveiro
-
- Posts: 222
- Joined: Tue, 06 Jul 2010, 21:19
by VoidVolker » Sun, 04 Sep 2011, 18:51
Менять порядок подключения обратно и проверять когда перстает работать. Также открыть консоль и перечитать кронтабы, при наличии конфликтов имен - в консоли будет предупреждение.
-

VoidVolker
- Site Admin
-
- Posts: 2907
- Joined: Tue, 25 Apr 2006, 17:56
by dimmer123 » Thu, 14 Jun 2012, 21:52
А можно тему или текст письма загрузить из файла?
-
dimmer123
-
- Posts: 13
- Joined: Tue, 12 Jun 2012, 19:19
by AlikasS » Fri, 15 Jun 2012, 03:45
dimmer123 wrote:А можно тему или текст письма загрузить из файла?
смотри все тот же пример - Code: Select all
S" C:\путь\какой-то_файл.txt" FILE
- чтение текстового файла целиком
-

AlikasS
-
- Posts: 1440
- Joined: Wed, 28 Jun 2006, 05:39
- Location: Khabarovsk
-
by dimmer123 » Fri, 15 Jun 2012, 08:30
Спасибо.
-
dimmer123
-
- Posts: 13
- Joined: Tue, 12 Jun 2012, 19:19
by Morituruz » Fri, 27 Jul 2012, 15:39
У меня в яндекс-почте вместо переносов строки такая фигня ( =D=A) приходит: ...нный к этому письму.=D=AТаким образом...
Версия плагина: - Code: Select all
\ Modified: 2011 03 22 17 06 +1000 AlikasS,
-

Morituruz
-
- Posts: 728
- Joined: Sun, 14 Oct 2007, 01:51
by AlikasS » Sun, 29 Jul 2012, 12:11
Moriturus wrote:У меня в яндекс-почте вместо переносов строки такая фигня ( =D=A) приходит: ...нный к этому письму.=D=AТаким образом...
Версия плагина: - Code: Select all
\ Modified: 2011 03 22 17 06 +1000 AlikasS,
какая-нибудь более старая или более новая (ранее в теме) версия плагина нормально работает? у меня с майлру на яндекс и с яндекса на майлру все хорошо отправляет и отображает. ну и сам код задачи покажи и SMTPLOGON что напишет в файл-лог в личку отправь
-

AlikasS
-
- Posts: 1440
- Joined: Wed, 28 Jun 2006, 05:39
- Location: Khabarovsk
-
by Morituruz » Mon, 30 Jul 2012, 10:49
Отослал всё в личку со ссылкой.
-

Morituruz
-
- Posts: 728
- Joined: Sun, 14 Oct 2007, 01:51
by AlikasS » Mon, 27 Aug 2012, 14:21
надо потестить - Code: Select all
\ smtp_nncron.f v 0.3 (адаптация под nnCron) \ "Частичная" реализация протокола SMTP с возможностью аттача файлов
\ v 0.3.1 Modified: 2011 03 22 17 06 +1000 AlikasS, \ почищен код от неиспользуемых фрагментов \ кое где добавлены в обработку переносы строк (не видно было в письме-логе вложенных файлов, проверялось на TheBat) \ некоторые правки кода при использовании слова SMTPLOGON (не сохранялся текст письма в письмо-лог) \ добавлено вычисление времени UTC в строку с датой создания письма \ письмо-лог, изменен формат наименования \ идентификатор программы в теле письма изменен, что бы было видно дату модификации плагина \ v 0.3.2 Modified: 2011 03 28 09 18 +1100 AlikasS, \ изменено вычисление времени UTC в строку с датой создания письма (учет перевода часов) \ v 0.3.3 Modified: 2012 07 31 01 00 +1100 AlikasS, \ коррект при посылке переноса строк, пока установлена заглушка \ v 0.3.5 Modified: 2012 08 20 14 35 +1100 AlikasS, \ коррект при посылке переноса строк
\ дата внесения изменений в плагин, используется в идентификаторе программы в теле письма : mod+ S" , smtp plugin v 0.3.5 (20.08.2912)" S+ ;
\ ADD-ATTACH ( adr n -- ) - Добавить путь к файлу в список для отправки
\ приоритеты письма \ High-priority - высокий приоритет \ Norm-priority - нормальный приоритет (по умолчанию) \ Low-priority - низкий приоритет
\ подтверждения доставки и прочтения \ Confirm-Reading - запрос подтверждения прочтения \ Non-Confirm-Reading - нет запроса подтверждения прочтения (по умолчанию)
\ Confirm-Sending - запрос подтверждения доставки \ Non-Confirm-Sending - нет запроса подтверждения доставки (по умолчанию)
\ адрес для обратного ответа установлен = адресу отправителя
\ установлен идентификатор почтовой программы \ много текста, зато понятно какая программа отсылает и какой модификации плагин
\ опционально, использование "условно-зашифрованного" логина в adr3-1 n3-1 \ для получения которого -> nncron.exe с ключом -ep <ваш_логин> \ SECLOGINON \ SECLOGINOFF ( по умолчанию выключен)
\ опционально, использование "условно-зашифрованного" пароля в adr4 n4 \ для получения которого -> nncron.exe с ключом -ep <ваш_пароль> \ SECPASSON \ SECPASSOFF ( по умолчанию выключен)
\ Логирование вкл/выкл в письмо-лог \ SMTPLOGON \ SMTPLOGOFF ( по умолчанию выключено)
\ SMTP-SEND&ATTACH ( adr n adr1 n1 adr2 n2 adr3 n3 adr3-1 n3-1 adr4 n4 adr5 n5 -- err ) - собственно сама отправка
\ adr n - содержимое письма \ adr1 n1 - тема письма \ adr2 n2 - кому!!! (Через пробел можно указать нескольких адресатов ) \ adr3 n3 - от кого!!! \ adr3-1 n3-1 - логин \ adr4 n4 - пароль. Если пароль задать пустой строкой S" ", то аутентификация производится не будет (например для mail.ru) \ adr5 n5 - адрес SMTP сервера \ n6 - порт SMTP сервера \ err - 0 - зер гуд, иначе код ошибки
\ -----------------------------------------------------------------------------
: CUR-DAY/TIME>S ( -- a u) GET-CUR-TIME Year@ Mon@ Day@ Hour@ Min@ Sec@ <# 0 HOLD S" .eml" HOLDS S>D # # 2DROP S" -" HOLDS S>D # # 2DROP S" -" HOLDS S>D # # 2DROP S" -" HOLDS S>D # # 2DROP S" -" HOLDS S>D # # 2DROP S" -" HOLDS S>D # # # # #> ;
CREATE UTCTIME /SYSTEMTIME ALLOT WINAPI: GetSystemTime KERNEL32.DLL WINAPI: SetSystemTime kernel32.dll : GET-UTC-TIME UTCTIME GetSystemTime DROP ; \ принудительное обновление системного времени : UTCMin@ GET-UTC-TIME UTCTIME wMinute W@ ; : UTCHour@ GET-UTC-TIME UTCTIME wHour W@ ; : UTCSec@ GET-UTC-TIME UTCTIME wSecond W@ ; : UTCDay@ GET-UTC-TIME UTCTIME wDay W@ ; : UTCMon@ GET-UTC-TIME UTCTIME wMonth W@ ; : UTCYear@ GET-UTC-TIME UTCTIME wYear W@ ; : UTCWDay@ GET-UTC-TIME UTCTIME wDayOfWeek W@ ?DUP 0= IF 7 THEN ;
: ~MYTIMELINE ( -- ) GET-UTC-TIME UTCYear@ UTCMon@ UTCDay@ UTCHour@ UTCMin@ 0 YMDHMS>FT FT-CUR FT- FT>MIN ;
: MYTIMELINE ~MYTIMELINE ( TIME-ZONE-BIAS ) -1 * DUP 0< IF S" -" ELSE S" +" THEN 2>R 60 /MOD ABS S>D <# # # #> 2R> 2SWAP S+ ROT ABS S>D <# # # #> S+ ;
: CUR-DAY/TIME>S1 ( -- a u) GET-CUR-TIME Day@ Mon@ Year@ Hour@ Min@ Sec@ <# 0 HOLD S" " HOLDS MYTIMELINE HOLDS BL HOLD S>D # # 2DROP S" :" HOLDS S>D # # 2DROP S" :" HOLDS S>D # # 2DROP BL HOLD S>D # # # # 2DROP BL HOLD 1- 3 * MONNAMES 1+ + 3 HOLDS BL HOLD S>D # # BL HOLD [CHAR] , HOLD WDay@ 1- 3 * WDAYS 1+ + 3 HOLDS S" Date: " HOLDS #> 2- \ вот не понятный момент, \ в строку добавлялось еще два нуля, \ пришлось ее посто обрезать на два символа ;
: ~N>H2 16 BASE @ >R BASE ! S>D DUP >R DABS <# # # R> SIGN #> R> BASE ! ;
FALSE VALUE SMTPLOGF : SMTPLOGON TRUE TO SMTPLOGF ; : SMTPLOGOFF FALSE TO SMTPLOGF ;
FALSE VALUE SECLOGIN : SECLOGINON TRUE TO SECLOGIN ; : SECLOGINOFF FALSE TO SECLOGIN ;
FALSE VALUE SECPASS : SECPASSON TRUE TO SECPASS ; : SECPASSOFF FALSE TO SECPASS ;
3 VALUE X-Priority : High-priority 2 TO X-Priority ; : Norm-priority 3 TO X-Priority ; : Low-priority 4 TO X-Priority ;
FALSE VALUE X-Confirm-Reading-To : Confirm-Reading TRUE TO X-Confirm-Reading-To ; : Non-Confirm-Reading FALSE TO X-Confirm-Reading-To ;
FALSE VALUE Return-Receipt-To : Confirm-Sending TRUE TO Return-Receipt-To ; : Non-Confirm-Sending FALSE TO Return-Receipt-To ;
VARIABLE attList
: ADD-ATTACH S>ZALLOC attList AddNode ;
: ?free ?DUP IF FREE THROW THEN ;
CREATE vName 255 ALLOT
CLASS: SMTP <SUPER POP3 var vLogin var vFrom var vTo var vSubj var vData var vAttach var vErr var vFB var vlfh 1024 chars vBuf
DESTR: free vLogin @ ?free vFrom @ ?free vTo @ ?free vSubj @ ?free vlfh @ ?DUP IF CLOSE-FILE THROW THEN free ;
CONSTR: init init SMTPLOGF IF CUR-DAY/TIME>S R/W CREATE-FILE THROW vlfh ! THEN ;
M: Connect vPort @ 0= IF 25 vPort ! THEN Connect ;
M: smtpOK? read DROP 3 S>NUM DUP 200 399 WITHIN IF DROP TRUE ELSE vErr ! FALSE THEN ;
M: Hello ( -- flag ) S" HELO localhost" write smtpOK? ;
M: Ehlo ( -- flag ) S" EHLO localhost" write HERE 1024 Read DROP ( smtpOK?) TRUE ;
M: Auth ( -- flag ) S" AUTH LOGIN" write read 2DROP vLogin @ ASCIIZ> SECLOGIN IF 5 TO 64offset PAD debase64 2DUP + 0! 0 TO 64offset THEN HERE base64 write read 2DROP vPass @ ASCIIZ> SECPASS IF 5 TO 64offset PAD debase64 2DUP + 0! 0 TO 64offset THEN HERE base64 write smtpOK? ;
M: Mail ( a n -- flag ) <# [CHAR] > HOLD vFrom @ ASCIIZ> HOLDS S" MAIL FROM: <" HOLDS 0#> write smtpOK? ;
M: Rcpt ( a n -- flag ) <# [CHAR] > HOLD HOLDS S" RCPT TO: <" HOLDS 0#> write smtpOK? ;
M: write 2DUP SELF ->CLASS POP3 write SMTPLOGF IF vlfh @ WRITE-LINE THROW ELSE 2DROP THEN ;
M: wrcrlf SELF ->CLASS Socket WriteCRLF SMTPLOGF IF LT LTL @ vlfh @ WRITE-FILE THROW THEN ;
M: sData ( adr n -- ) { \ tempalloc -- } \ Начало передачи S" DATA" write smtpOK? IF <# vFrom @ ASCIIZ> HOLDS S" From: " HOLDS 0#> write S" X-Priority: %X-Priority%" EVAL-SUBST write X-Confirm-Reading-To IF <# vFrom @ ASCIIZ> HOLDS S" X-Confirm-Reading-To: " HOLDS 0#> write <# vFrom @ ASCIIZ> HOLDS S" Disposition-Notification-To: " HOLDS 0#> write THEN
Return-Receipt-To IF <# vFrom @ ASCIIZ> HOLDS S" Return-Receipt-To: " HOLDS 0#> write THEN S" X-Mailer: nncron %SVERSION%" mod+ EVAL-SUBST write <# vFrom @ ASCIIZ> HOLDS S" Reply-To: " HOLDS 0#> write <# vTo @ ASCIIZ> HOLDS S" To: " HOLDS 0#> write <# vSubj @ ASCIIZ> HOLDS S" Subject: " HOLDS 0#> write S" MIME-Version: 1.0" write S" Content-Type: multipart/mixed; boundary=%QUOTE%bounds1%QUOTE%" EVAL-SUBST write CUR-DAY/TIME>S1 write wrcrlf S" --bounds1" write S" Content-Type: text/plain; charset=windows-1251" write S" Content-Transfer-Encoding: quoted-printable" write wrcrlf
OVER + SWAP 2DUP - ?DUP NOT IF 1 THEN 4 * ALLOCATE THROW TO tempalloc \ по идее один символ отправляется как 3, но взял с запасом (4) ?DO S" =" 2DUP SELF ->CLASS Socket Write tempalloc +ZPLACE
I C@ ~N>H2 2DUP SELF ->CLASS Socket Write tempalloc +ZPLACE \ I C@ N>H 2DUP SELF ->CLASS Socket Write tempalloc +ZPLACE
LOOP
tempalloc ASCIIZ> SMTPLOGF IF vlfh @ WRITE-LINE THROW ELSE 2DROP THEN \ запись в письмо-лог tempalloc FREE THROW
wrcrlf ELSE 2DROP THEN ;
M: eData S" --bounds1--" write wrcrlf S" ." write wrcrlf ; \ а на фига здесь точка?
M: MyFILE \ { adr n -- adr1 n1 } R/O OPEN-FILE-SHARED IF DROP S" " EXIT THEN >R R@ FILE-SIZE THROW D>S ?DUP IF DUP ALLOCATE THROW DUP vFB ! ( # a -- ) DUP ROT R@ READ-FILE THROW ELSE S" " THEN R> CLOSE-FILE THROW ;
M: MyFILE-free vFB @ ?DUP IF FREE THROW vFB 0! THEN ;
M: _writeOneAttach 2DUP ONLYNAME vName ZPLACE 2DUP EXIST? IF wrcrlf MyFILE S" --bounds1" write S" Content-Type: plain/text;" write S" name=%QUOTE%%vName ASCIIZ>%%QUOTE%" EVAL-SUBST write S" Content-transfer-encoding: base64" write S" Content-Disposition: attachment;" write S" filename=%QUOTE%%vName ASCIIZ>%%QUOTE%" EVAL-SUBST write wrcrlf ?DUP IF DUP ROT ROT OVER + SWAP ?DO
\ 50 PAUSE
DUP 57 > IF I 57 vBuf base64 write
ELSE I SWAP vBuf base64 write LEAVE THEN 57 ( 76 ) - 57 ( 76 ) +LOOP ELSE DROP wrcrlf THEN ELSE 2DROP THEN MyFILE-free ;
M: writeOneAttach NodeValue ASCIIZ> _writeOneAttach ;
M: free-node NodeValue FREE DROP ;
M: writeAttach sData ['] writeOneAttach attList DoList ['] free-node attList DoList attList FreeList eData ; ;CLASS
: SMTP-SEND&ATTACH { \ p fl -- } SMTP NEW TO p WITH SMTP p => vPort ! p => Addr! S>ZALLOC p => vPass ! S>ZALLOC p => vLogin ! S>ZALLOC p => vFrom ! S>ZALLOC p => vTo ! S>ZALLOC p => vSubj ! [NONAME p => Create p => Connect p => read 2DROP p => vPass @ ASCIIZ> NIP IF p => Ehlo p => Auth AND ELSE p => Hello THEN IF p => Mail TO fl p => vTo @ ASCIIZ> <TIB 0 >R BEGIN NextWord ?DUP IF R> 1+ >R THEN EndOfChunk UNTIL R> TIB> 0 ?DO p => Rcpt fl OR TO fl LOOP
fl IF p => writeAttach ELSE 2DROP 2DROP THEN ELSE 2DROP THEN NONAME] CATCH ?DUP IF p => vErr ! THEN p => Logout p => vErr @ p => Delete ENDWITH ;
-

AlikasS
-
- Posts: 1440
- Joined: Wed, 28 Jun 2006, 05:39
- Location: Khabarovsk
-
by VoidVolker » Mon, 27 Aug 2012, 18:20
- Code: Select all
: CUR-DAY/TIME>S1 ( -- a u) GET-CUR-TIME Day@ Mon@ Year@ Hour@ Min@ Sec@ <# 0 HOLD S" " HOLDS MYTIMELINE HOLDS BL HOLD S>D # # 2DROP S" :" HOLDS S>D # # 2DROP S" :" HOLDS S>D # # 2DROP BL HOLD S>D # # # # 2DROP BL HOLD 1- 3 * MONNAMES 1+ + 3 HOLDS BL HOLD S>D # # BL HOLD [CHAR] , HOLD WDay@ 1- 3 * WDAYS 1+ + 3 HOLDS S" Date: " HOLDS #> 2- \ вот не понятный момент, \ в строку добавлялось еще два нуля, \ пришлось ее посто обрезать на два символа ; 0 HOLD — это ноль; S" " HOLDS — а тут пробел.
-

VoidVolker
- Site Admin
-
- Posts: 2907
- Joined: Tue, 25 Apr 2006, 17:56
Return to nnCron forum (Russian)
Who is online
Users browsing this forum: No registered users and 5 guests
|
|