Отсылка письма средствами nnCron

Обсуждение программ nnCron и nnCron LITE

Re: Отсылка письма средствами nnCron

Postby Ilya » Thu, 22 Oct 2009, 00:27

Vitaly_st wrote:Подскажите, как можно организовать рассылку по нескольким почтовым адресам? Возможна ли такая реализация в данном плагине? Спасибо!

Ессно, что можно!
Одно письмо -> несколько адресатов?
Ilya
 
Posts: 445
Joined: Mon, 07 Aug 2006, 09:51
Location: Санкт-Петербург

Re: Отсылка письма средствами nnCron

Postby Vitaly_st » Thu, 22 Oct 2009, 10:17

Ilya wrote:
Vitaly_st wrote:Подскажите, как можно организовать рассылку по нескольким почтовым адресам? Возможна ли такая реализация в данном плагине? Спасибо!

Ессно, что можно!
Одно письмо -> несколько адресатов?


Именно! :)
Vitaly_st
 
Posts: 24
Joined: Fri, 17 Jul 2009, 10:54

Re: Отсылка письма средствами nnCron

Postby Ilya » Thu, 22 Oct 2009, 23:48

Vitaly_st wrote:Подскажите, как можно организовать рассылку по нескольким почтовым адресам? Возможна ли такая реализация в данном плагине? Спасибо!

Специятельно для тебя! :D
В обновленном плагине Отправка почты (e-mail) средствами nnCron эта фича реализована.
Code: Select all
S" mail1@mail.com mail2@mail.com mail3@mail.com mail4@mail.com" \ Кому

Т.е, в строке кому перечисляем получателей через пробел!
Ilya
 
Posts: 445
Joined: Mon, 07 Aug 2006, 09:51
Location: Санкт-Петербург

Re: Отсылка письма средствами nnCron

Postby AlikasS » Fri, 23 Oct 2009, 01:38

разве раньше нельзя было перечислить несколько адресов получателей через запятую и отправить?
и синтаксис был привычный ( через запятую)
User avatar
AlikasS
 
Posts: 1437
Joined: Wed, 28 Jun 2006, 05:39
Location: Khabarovsk

Re: Отсылка письма средствами nnCron

Postby Ilya » Fri, 23 Oct 2009, 02:17

AlikasS wrote:разве раньше нельзя было перечислить несколько адресов получателей через запятую и отправить?
и синтаксис был привычный ( через запятую)

Нельзя (если конечно поддерживает спецификацию SMTP)!
Ilya
 
Posts: 445
Joined: Mon, 07 Aug 2006, 09:51
Location: Санкт-Петербург

Re: Отсылка письма средствами nnCron

Postby Vitaly_st » Fri, 23 Oct 2009, 16:18

Ilya wrote:
Vitaly_st wrote:Подскажите, как можно организовать рассылку по нескольким почтовым адресам? Возможна ли такая реализация в данном плагине? Спасибо!

Специятельно для тебя! :D
В обновленном плагине Отправка почты (e-mail) средствами nnCron эта фича реализована.
Code: Select all
S" mail1@mail.com mail2@mail.com mail3@mail.com mail4@mail.com" \ Кому

Т.е, в строке кому перечисляем получателей через пробел!


Спасибо Огромное!!!! Буду проверять! Два дня подряд мучился, компьютер зависал нешуточно... не мог понять, в чем проблема, потом выяснил, что nnCron жрал все мощности процессора... Так вот, случилось это после того, как я повесил две одинаковые задачи по отправке файла двум разным получателям при помощи плагина... :D
Vitaly_st
 
Posts: 24
Joined: Fri, 17 Jul 2009, 10:54

Re: Отсылка письма средствами nnCron

Postby Ilya » Fri, 23 Oct 2009, 21:15

Vitaly_st wrote:Два дня подряд мучился, компьютер зависал нешуточно... не мог понять, в чем проблема, потом выяснил, что nnCron жрал все мощности процессора... Так вот, случилось это после того, как я повесил две одинаковые задачи по отправке файла двум разным получателям при помощи плагина... :D

Данный плагин не рассчитан на многопотчное применение, если уж сильно понадобится, то будем пытаться его усовершенствовать (млин, как и в теме с "портированным Хинт-ом" - до сих пор бьюсь :( )!?
Ilya
 
Posts: 445
Joined: Mon, 07 Aug 2006, 09:51
Location: Санкт-Петербург

Re: Отсылка письма средствами nnCron

Postby Vitaly_st » Mon, 26 Oct 2009, 12:04

Ilya wrote:
Vitaly_st wrote:Два дня подряд мучился, компьютер зависал нешуточно... не мог понять, в чем проблема, потом выяснил, что nnCron жрал все мощности процессора... Так вот, случилось это после того, как я повесил две одинаковые задачи по отправке файла двум разным получателям при помощи плагина... :D

Данный плагин не рассчитан на многопотчное применение, если уж сильно понадобится, то будем пытаться его усовершенствовать (млин, как и в теме с "портированным Хинт-ом" - до сих пор бьюсь :( )!?


Не думаю, что это актуально... смысл в этом был до того момента, пока не была реализована возможность рассылки письма по нескольким адресам!
Vitaly_st
 
Posts: 24
Joined: Fri, 17 Jul 2009, 10:54

Re: Отсылка письма средствами nnCron

Postby progmo » Fri, 20 Nov 2009, 15:16

Люди добрые, подскажите как изменить данный код, чтобы отсылался последний созданный файл из папки c:\_arc\ ???

Code: Select all
#( send_arch
NoActive
Time: 1 2 25 * * *
Action:
   \ 1.пример без шифрованного логина и пароля
    Low-priority  \ низкий приоритет
    Confirm-Reading \ подтверждение прочтения
    Confirm-Sending \ подтверждение доставки
    S" c:\_arc\test.rar" ADD-ATTACH \ прикрепить файл
    S" текст письма" \ текст
    S" teh test message" \ тема
    S" xxx@yandex.ru" \ mail кому
    S" xxx@yandex.ru" \ mail от кого
    S" xxx@yandex.ru" \ логин
    S" xxxxxxx" \ пароль
    S" smtp.pochta.ru" 25 \ адрес smtp сервера и порт
    SMTP-SEND&ATTACH ?DUP IF TMSG: "ошибка отправки: %0 esPICK%" 5 ELSE TMSG: "Message sent ОК" 5 THEN
 
)#
progmo
 
Posts: 87
Joined: Mon, 02 Mar 2009, 17:07

Re: Отсылка письма средствами nnCron

Postby Ilya » Fri, 20 Nov 2009, 17:47

progmo wrote:Люди добрые, подскажите как изменить данный код, чтобы отсылался последний созданный файл из папки c:\_arc\ ???

Code: Select all
#( send_arch
NoActive
Time: 1 2 25 * * *
Action:
   \ 1.пример без шифрованного логина и пароля
    Low-priority  \ низкий приоритет
    Confirm-Reading \ подтверждение прочтения
    Confirm-Sending \ подтверждение доставки
    S" c:\_arc\test.rar" ADD-ATTACH \ прикрепить файл
    S" текст письма" \ текст
    S" teh test message" \ тема
    S" xxx@yandex.ru" \ mail кому
    S" xxx@yandex.ru" \ mail от кого
    S" xxx@yandex.ru" \ логин
    S" xxxxxxx" \ пароль
    S" smtp.pochta.ru" 25 \ адрес smtp сервера и порт
    SMTP-SEND&ATTACH ?DUP IF TMSG: "ошибка отправки: %0 esPICK%" 5 ELSE TMSG: "Message sent ОК" 5 THEN
 
)#

На предыдущей странице почти готовое решение!
Обновил плагин watchdir.f:
Code: Select all
\ Вотчим дирректорию на предмет изменения содержимого v0.2
\ REQUIRE CASE lib\ext\case.f
\ REQUIRE UNICODE>S ~nn\lib\unicode.f
WINAPI: ReadDirectoryChangesW kernel32.dll

1      CONSTANT   FILE_LIST_DIRECTORY
1      CONSTANT   FILE_NOTIFY_CHANGE_FILE_NAME
2      CONSTANT   FILE_NOTIFY_CHANGE_DIR_NAME
4      CONSTANT   FILE_NOTIFY_CHANGE_ATTRIBUTES
8      CONSTANT   FILE_NOTIFY_CHANGE_SIZE
0x10   CONSTANT   FILE_NOTIFY_CHANGE_LAST_WRITE
0x20   CONSTANT   FILE_NOTIFY_CHANGE_LAST_ACCESS
0x40   CONSTANT   FILE_NOTIFY_CHANGE_CREATION
0x100   CONSTANT   FILE_NOTIFY_CHANGE_SECURITY


0x02000000   CONSTANT   FILE_FLAG_BACKUP_SEMANTICS

0
CELL   --   fniNextEntryOffset
CELL   --   fniAction
CELL   --   fniFileNameLength
CELL   --   fniFileName
CONSTANT   /FILE_NOTIFY_INFORMATION


USER-VALUE fnidir-handle
USER fnilpBytesReturned
0 VALUE fniFlAction
USER-CREATE fni-buf 1024 ALLOT

: OPEN-DIR-SHARED ( c-addr u fam -- fileid ior )
  NIP SWAP >R >R
  0  FILE_FLAG_BACKUP_SEMANTICS ( template attrs )
  OPEN_EXISTING
  SA ( secur )
  3 ( share )
  R> FILE_LIST_DIRECTORY OR ( access=fam )
  R> ( filename )
  CreateFileA DUP -1 = IF GetLastError ELSE 0 THEN
;

: _READ-DIRECTORY-CHANGES
0 0
fnilpBytesReturned
fniFlAction   \ FILE_NOTIFY_CHANGE_FILE_NAME
1
1024
fni-buf
fnidir-handle
ReadDirectoryChangesW
IF
   fni-buf fniFileName fni-buf fniFileNameLength @ UNICODE>S OVER >R
   HERE SWAP CMOVE R> FREE THROW
   HERE ASCIIZ>            \ Путь к файлу
   fni-buf fniAction @      \ Флаг события
ELSE
   S" "
   0
THEN
;

: WATCH-DIR ( adr n flag -- adr1 n1 flag )
\ adr n - путь к директории
\ adr1 n1 - путь к файлу
\ flag - 0 - нет такой директории
\ или
\ FILE_ACTION_ADDED, FILE_ACTION_REMOVED, FILE_ACTION_MODIFIED, FILE_ACTION_RENAMED_OLD_NAME, FILE_ACTION_RENAMED_NEW_NAME
fniFlAction 0= IF 0x7F TO fniFlAction THEN   \ Если не выставленно, то реагируем почти на всё
R/O OPEN-DIR-SHARED
0= IF
   TO fnidir-handle
   _READ-DIRECTORY-CHANGES
   fnidir-handle CLOSE-FILE THROW
ELSE
   DROP S" " 0
THEN
;

И примерный код задачи:
Code: Select all
#( send_arch
SingleInstance
Time: 1 2 25 * * *
Action:
S" c:\_arc\" WATCH-DIR
1 = IF   \ Создан файл?
ADD-ATTACH \ прикрепить файл
   \ 1.пример без шифрованного логина и пароля
    Low-priority  \ низкий приоритет
    Confirm-Reading \ подтверждение прочтения
    Confirm-Sending \ подтверждение доставки

    S" текст письма" \ текст
    S" teh test message" \ тема
    S" xxx@yandex.ru" \ mail кому
    S" xxx@yandex.ru" \ mail от кого
    S" xxx@yandex.ru" \ логин
    S" xxxxxxx" \ пароль
    S" smtp.pochta.ru" 25 \ адрес smtp сервера и порт
    SMTP-SEND&ATTACH ?DUP IF TMSG: "ошибка отправки: %0 esPICK%" 5 ELSE TMSG: "Message sent ОК" 5 THEN
THEN 
)#
Ilya
 
Posts: 445
Joined: Mon, 07 Aug 2006, 09:51
Location: Санкт-Петербург

Re: Отсылка письма средствами nnCron

Postby progmo » Fri, 20 Nov 2009, 18:12

Ilya, данный код что-то не совсем работает. Задача стартует и ничего не происходит. А если после запуска этой задачи, создать файл, то вываливается Ошибка стека в Action. Точнее если в каталоге появляется файл с именем которое уже есть. Если появляется новый файл, то письмо отсылается, но никакие файлы не приклепляются к нему.

А еще очень надо чтобы имя файла передавалось переменной типа:
S" c:\_arc\Arc_%YYYY%%MM%%DD%.rar" ADD-ATTACH \ прикрепить файл
Но если имя указано не явно, то письмо отсылается без вложения.

Кстати, никакой ошибки (и даже сообшения) при этом не выдается. А ведь успешной такую передачу назвать уже нельзя.
progmo
 
Posts: 87
Joined: Mon, 02 Mar 2009, 17:07

Re: Отсылка письма средствами nnCron

Postby Dark_Jones » Fri, 20 Nov 2009, 20:58

progmo wrote:S" c:\_arc\Arc_%YYYY%%MM%%DD%.rar" ADD-ATTACH \ прикрепить файл

Про EVAL-SUBST почитай. Это уже классика
Dark_Jones
 
Posts: 414
Joined: Thu, 09 Nov 2006, 00:43
Location: Russia, S.Peterburg

Re: Отсылка письма средствами nnCron

Postby progmo » Fri, 20 Nov 2009, 21:07

Dark_Jones wrote:
progmo wrote:S" c:\_arc\Arc_%YYYY%%MM%%DD%.rar" ADD-ATTACH \ прикрепить файл

Про EVAL-SUBST почитай. Это уже классика


Извиняюсь, но ни на форуме, ни в справке не нашел ничего о EVAL-SUBST.

Методом тыка заработало так S" c:\_arc\Arc_%YYYY%%MM%%DD%.rar" EVAL-SUBST ADD-ATTACH \ прикрепить файл
progmo
 
Posts: 87
Joined: Mon, 02 Mar 2009, 17:07

Re: Отсылка письма средствами nnCron

Postby Ilya » Fri, 20 Nov 2009, 22:01

progmo wrote:Ilya, данный код что-то не совсем работает. Задача стартует и ничего не происходит. А если после запуска этой задачи, создать файл, то вываливается Ошибка стека в Action. Точнее если в каталоге появляется файл с именем которое уже есть. Если появляется новый файл, то письмо отсылается, но никакие файлы не приклепляются к нему.

В плагине smtp была ошибка!
Он загибался на файлах нулевой длинны.
Плагин обновил!
Ilya
 
Posts: 445
Joined: Mon, 07 Aug 2006, 09:51
Location: Санкт-Петербург

Re: Отсылка письма средствами nnCron

Postby VoidVolker » Fri, 20 Nov 2009, 23:39

progmo wrote:Извиняюсь, но ни на форуме, ни в справке не нашел ничего о EVAL-SUBST.

На этом форуме уже не менее сотни раз этот вопрос обсуждался.
Мануал>Дополнительная информация>"Неотложная помощь" по Форту>11. Пpавильно ли я понял, что пpи описании стpоки (внутpи кавычек) можно поставить паpу "%%" и внутpи оных писать последовательность Forth-слов?
95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2898
Joined: Tue, 25 Apr 2006, 17:56

PreviousNext

Return to nnCron forum (Russian)

Who is online

Users browsing this forum: Bing [Bot] and 1 guest

cron