Обсуждение программ nnCron и nnCron LITE
by AlikasS » Tue, 28 Aug 2012, 15:33
VoidVolker wrote:....
не понял копирования кода, или чего пропустил... исправь исходный код или покажи как
-

AlikasS
-
- Posts: 1453
- Joined: Wed, 28 Jun 2006, 05:39
- Location: Khabarovsk
by VoidVolker » Tue, 28 Aug 2012, 18:22
AlikasS wrote:не понял копирования кода, или чего пропустил...
Комментарий под кодом. - 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- \ вот не понятный момент, \ в строку добавлялось еще два нуля, \ пришлось ее посто обрезать на два символа ;
-

VoidVolker
- Site Admin
-
- Posts: 2928
- Joined: Tue, 25 Apr 2006, 17:56
by Morituruz » Mon, 03 Sep 2012, 19:59
Господа, так чем ваше обсуждение окончилось?
-

Morituruz
-
- Posts: 729
- Joined: Sun, 14 Oct 2007, 01:51
by alx » Mon, 22 Jul 2013, 19:30
Доброго времени суток! Спасибо огромное за плагин! Прошу прощения за глупый вопрос, но что-то своими силами никак не могу разобраться: как подружить этот плагин с задачей birthdays? Нужно организовать рассылку с напоминанием о днях рождения. Вопрос: как передать в тело письма значения переменных bname, bdays, byears (аналогично тому, как в MSG)? - Code: Select all
#( birthdays OnceADay <( : birthdays.txt S" birthdays.txt" ; VARIABLE fb CREATE bline 256 ALLOT CREATE bname 64 ALLOT VARIABLE bdate VARIABLE byears VARIABLE bdays \ start reminding <pre-period> days before the birthday 5 CONSTANT pre-period )> Action: birthdays.txt R/O OPEN-FILE-SHARED IF DROP ERR-MSG: "Can't open %birthdays.txt% file" EXIT THEN fb ! BEGIN bline 250 fb @ READ-LINE THROW WHILE bline SWAP <TIB get-number Year@ get-number get-number YMD>DATE bdate ! Year@ SWAP - byears ! 1 WORD COUNT 63 MIN bname PLACE CUR-DATE bdate @ DATE- NEGATE DUP 0 > OVER pre-period < AND IF bdays ! MSG: "Birthday reminder!!!%crlf%%bname COUNT%%crlf%Remining days: %bdays @%.%crlf%Aged: %byears @%.%crlf%Don't forget to send greeting card!" Low-priority SMTPLOGON S" body" \ хотелось бы, чтоб здесь было сообщение, как в MSG S" test" S" xxx@yyy.com" S" zzz@yyy.com" S" xxx" S" pass" S" smtp.yyy.com" 25 SMTP-SEND&ATTACH ?DUP IF MSG: "ошибка отправки %0 esPICK%" ELSE MSG: "ОК" THEN ELSE DROP THEN TIB> REPEAT DROP fb @ CLOSE-FILE DROP )#
Заранее спасибо!
-
alx
-
- Posts: 5
- Joined: Mon, 22 Jul 2013, 10:16
by Morituruz » Tue, 23 Jul 2013, 08:31
Наверное вы хотите так: - Code: Select all
#( birthdays OnceADay <( : birthdays.txt S" birthdays.txt" ; VARIABLE fb CREATE bline 256 ALLOT CREATE bname 64 ALLOT VARIABLE bdate VARIABLE byears VARIABLE bdays \ start reminding <pre-period> days before the birthday 5 CONSTANT pre-period )> Action: birthdays.txt R/O OPEN-FILE-SHARED IF DROP ERR-MSG: "Can't open %birthdays.txt% file" EXIT THEN fb ! BEGIN bline 250 fb @ READ-LINE THROW WHILE bline SWAP <TIB get-number Year@ get-number get-number YMD>DATE bdate ! Year@ SWAP - byears ! 1 WORD COUNT 63 MIN bname PLACE CUR-DATE bdate @ DATE- NEGATE DUP 0 > OVER pre-period < AND IF bdays ! TMSG: "Birthday reminder!!!%crlf%%bname COUNT%%crlf%Remining days: %bdays @%.%crlf%Aged: %byears @%.%crlf%Don't forget to send greeting card!" 5 Low-priority SMTPLOGON S" Birthday reminder!!!%crlf%%bname COUNT%%crlf%Remining days: %bdays @%.%crlf%Aged: %byears @%.%crlf%Don't forget to send greeting card!" EVAL-SUBST S" test" S" xxx@yyy.com" S" zzz@yyy.com" S" xxx" S" pass" S" smtp.yyy.com" 25 SMTP-SEND&ATTACH ?DUP IF MSG: "ошибка отправки %0 esPICK%" ELSE MSG: "ОК" THEN ELSE DROP THEN TIB> REPEAT DROP fb @ CLOSE-FILE DROP )#
-

Morituruz
-
- Posts: 729
- Joined: Sun, 14 Oct 2007, 01:51
by alx » Tue, 23 Jul 2013, 21:52
Да, спасибо огромное!
-
alx
-
- Posts: 5
- Joined: Mon, 22 Jul 2013, 10:16
by Burunduk » Tue, 26 Nov 2013, 11:52
Здравствуйте! Взял плагин отсюда: "Отправка почты (e-mail) средствами nnCron"http://www.nncron.ru/forums/viewtopic.php?f=23&t=9480#p20607 Это самый последний вариант? Тестирую пример на простом SMTP-сервере(без авторизации) - Code: Select all
#( тест_отсылки \ NoActive RunOnce NoDel Action: \ 1.пример без шифрованного логина и пароля Low-priority \ низкий приоритет \ Confirm-Reading \ подтверждение прочтения \ Confirm-Sending \ подтверждение доставки SMTPLOGON \ S" " ADD-ATTACH \ прикрепить файл S" c:\Program Files\nncron\plugins\other\smtp_nncron.spf" ADD-ATTACH \ прикрепить файл S" текст письма letter text" \ текст S" тема письма letter subject" \ тема S" spd38@mail.ru" \ mail кому S" spd@iszf.irk.ru" \ mail от кого S" spd" \ логин S" " \ пароль S" mail.iszf.irk.ru" 25 \ адрес smtp сервера и порт
SMTP-SEND&ATTACH
?DUP IF MSG: "ошибка отправки: %0 esPICK%" ELSE MSG: "ОК" THEN
)#
Письмо приходит. Файл есть. Только в теме письма русская часть текста квадратиками. В файле же нормальные русские комментарии. И что такое SMTPLOGON ? Это вроде включается протоколирование работы, но в Крон-логе ничего нет.
-
Burunduk
-
- Posts: 73
- Joined: Thu, 03 Oct 2013, 06:57
by SeMa » Tue, 26 Nov 2013, 13:57
Только в теме письма русская часть текста квадратиками.
Видно, русская кодировка не соответствует. Попробуй KOI-8, ANSI. И что такое SMTPLOGON ? Это вроде включается протоколирование работы, но в Крон-логе ничего нет.
В папке крона должен появиться файл с именем в формате слова CUR-DAY/TIME>S.
Компьютер ─ устройство, разработанное для ускорения и автоматизации человеческих ошибок
-

SeMa
-
- Posts: 637
- Joined: Fri, 15 Apr 2005, 12:49
- Location: Украина
by Burunduk » Tue, 26 Nov 2013, 14:20
SeMa wrote:Попробуй KOI-8, ANSI. Т.е. задать кодировку при отправке письма? Только как это делать? Слово какое-то магическое есть?
-
Burunduk
-
- Posts: 73
- Joined: Thu, 03 Oct 2013, 06:57
by SeMa » Tue, 26 Nov 2013, 20:01
Я с этим плагином не знаком. Попробуй в каком-нибудь редакторе переконвертировать текст темы в другую кодировку, а затем вставить его в код.
Компьютер ─ устройство, разработанное для ускорения и автоматизации человеческих ошибок
-

SeMa
-
- Posts: 637
- Joined: Fri, 15 Apr 2005, 12:49
- Location: Украина
by AlikasS » Wed, 27 Nov 2013, 01:41
-

AlikasS
-
- Posts: 1453
- Joined: Wed, 28 Jun 2006, 05:39
- Location: Khabarovsk
by Burunduk » Wed, 27 Nov 2013, 04:39
Это вот этот? AlikasS wrote: AlikasS » Пн, 27 авг 2012, 19:21 надо потестить
Тогда присоединяюсь к Morituruz wrote:Господа, так чем ваше обсуждение окончилось?
-
Burunduk
-
- Posts: 73
- Joined: Thu, 03 Oct 2013, 06:57
by Burunduk » Wed, 27 Nov 2013, 05:09
SeMa wrote:Я с этим плагином не знаком. Попробуй в каком-нибудь редакторе переконвертировать текст темы в другую кодировку, а затем вставить его в код. Это в если текст постоянный. Выяснилось, что глюк с квадратиками происходит при просмотре в майл.ру. В гугл майле все работает нормально. Причём интересно, что сразу приходит с нормальной темой, а когда зайдёшь в письмо, то квадратики. Выйдешь из просмотра письма и квадратики появляются и в списке писем. А если обновить, то нормальные тексты. Но в письмах от других людей русские заголовки работают нормально. Наверно, это косяк на сайте майл.ру. Скорей всего плагин отсылает plain\text , а остальные обычно html\text. Пока обойдусь английскими заголовками. Хорошо, что в тексте письма всё нормально.
-
Burunduk
-
- Posts: 73
- Joined: Thu, 03 Oct 2013, 06:57
by Burunduk » Thu, 28 Nov 2013, 06:00
Написал задачу по отправке почты: - Code: Select all
#( тест_отсылки \ NoActive RunOnce NoDel Action: \ 1.пример без шифрованного логина и пароля Low-priority \ низкий приоритет SMTPLOGON S" C:\CronError\SynchronErr.txt" ADD-ATTACH \ прикрепить файл S" текст письма - произошла ошибка" \ текст
S" Error on registration computer" \ тема S" spd38@mail.ru burunduk38@gmail.com patrony38@mail.ru " \ lipko@mail.ru" \ mail кому S" spd@iszf.irk.ru" \ mail от кого S" spd" \ логин S" " \ пароль S" mail.iszf.irk.ru" 25 \ Правильный адрес smtp сервера и порт
\ S" mail.is.irk.ru" 25 \ НЕ ПРАВИЛЬНЫЙ адрес smtp сервера ИЛИ порт
MSG: "Отправка почты.." \ Это сообщение всегда
SMTP-SEND&ATTACH MSG: "После Отправки почты" \ Это сообщение только при правильном адресе!!!
?DUP IF DUP MSG: "Ошибка отправки электронной почты : %0 esPICK%" S" Внимание! Ошибка отправки электронной почты : %0 esPICK%" CRON-LOG
ELSE MSG: "Внимание! По электронной почте отправлено сообщение об ошибке." S" Внимание! По электронной почте отправлено сообщение об ошибке." CRON-LOG THEN
)#
Что бы проверить как обрабатывается диагностика ошибок, умышленно задал несуществующее имя почтового сервера. В результате получаю окошко с сообщением о внутренней ошибке: тест_отсылки: Внутренняя ошибка. Запрос на отправку или получение данных (when sending on a datagram socket using a sendto call) no address was supplied. Интересно, что если вернуть правильный адрес, перечитать кронтаб и запустить задачу, то сообщения об ошибке не появляется, но задача правильно не отрабатывает. Т.е. перед MSG: "После Отправки почты" \ Это сообщение только при правильном адресе!!! задача по-тихому завершается. Нормальная работа задачи восстанавливается только после перезагрузки Крона.
-
Burunduk
-
- Posts: 73
- Joined: Thu, 03 Oct 2013, 06:57
by Mur466 » Fri, 29 Nov 2013, 09:48
Классное решение с vbscript! Большое спасибо. Добавлю только, что для соответствия стандартам нужно указать кодировку тела письма (иначе The bat, к примеру, некорректно покажет): - Code: Select all
omail.BodyPart.Charset ="koi8-r"
-
Mur466
-
- Posts: 2
- Joined: Fri, 29 Nov 2013, 09:36
Return to nnCron forum (Russian)
Who is online
Users browsing this forum: No registered users and 3 guests
|
|