• Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

  • CTF с учебными материалами Codeby Games

    Обучение кибербезопасности в игровой форме. Более 200 заданий по Active Directory, OSINT, PWN, Веб, Стеганографии, Реверс-инжинирингу, Форензике и Криптографии. Школа CTF с бесплатными курсами по всем категориям.

рассылка почты

  • Автор темы Dios1986
  • Дата начала
D

Dios1986

Подскажите плз., может кто такое делал, нужно произвести соответствие адресов почты на правильность написания, как это реализовать (желательно на @-формулах) и сделать рассылку по все отобранным ящикам на внешнюю почту (ну рассылка на тысячу ящиков, я так понимаю что все сразу одним письмом с вложенным масивом "кому" отправлять нельзя)
:(
 
D

Dios1986

Всем привет! что б не флудить лишних надцать тем, решил дополнить эту. Прошу Вашей помощи ;) (т.к. с лотусСкриптом еще мало работаю.... пока в процессе познавания)

Задача. Нужен агент, который берет из вида документы и формирует на каждый из них еще один документ с копированием полей, по итогу сохраняет и отправляет письмом.
То бы ж дано:
Вид, ДокументВида, Поле№1ДокументВида, ДокументНовый, Поле№1ДокументНовый, все поля текстового вида

В итоге у меня получилось следующее...., но дебаггер ругается на тип полей..... кароче я в замешательстве... что я не так делаю или мож чего недопонимаю?
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 933
609
BIT
177
4-е года "прошли впустую"...
Если программирование - это не ваше - ну зачем себя мучить
форумом тоже не научились пользоваться - кто код будет обертывать?
судя по русской нотации - 1Це ваше фсё ;)
я понимаю, что давать нормальные названия переменным вас просто не учили, ну почитайте уже литературу по теме...

Добавлено: и да..., научитесь писать Option Declare
 
D

Dios1986

4-е года "прошли впустую"...
Если программирование - это не ваше - ну зачем себя мучить
форумом тоже не научились пользоваться - кто код будет обертывать?
судя по русской нотации - 1Це ваше фсё :D
я понимаю, что давать нормальные названия переменным вас просто не учили, ну почитайте уже литературу по теме...

Добавлено: и да..., научитесь писать Option Declare

;)
Ну за критику конечно спасибо, но Вы наверно свечку надо мной держали и знаете чем я и когда занимался.... обидно иногда по таким высказываниям.
Про обертывать, так это я так понимаю мне надо было взять в "теги code /code", исправлюсь.
А кто Вам сказал что переменные у меня так и называются? то я для более понятного восприятия.

С агентами столкнулся в первые, про Option Declare конечно почитаю, но если можно в 2-х словах.... и если уж так раскритиковали, то в чем может быть загвоздка у меня?
 
H

hosm

>в чем может быть загвоздка у меня?
с копированием полей - этого нет в вышеприведенном коде, даже тут (Поле№1ДокументНовый - не инициализировано):
Call ДокументНовый.ReplaceItemValue("Поле№1ДокументНовый", Поле№1ДокументНовый)
 
D

Dios1986

>в чем может быть загвоздка у меня?
с копированием полей - этого нет в вышеприведенном коде, даже тут (Поле№1ДокументНовый - не инициализировано):
Call ДокументНовый.ReplaceItemValue("Поле№1ДокументНовый", Поле№1ДокументНовый)

Спс., пойду читать мурзилку... может чего умного вычитаю, если Вас не затруднит, могли б привести пример корректного кода ;)
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 933
609
BIT
177
не надо переименовывать поля - так не понятней
появилась наведенная ошибка:
Set Вид = db.GetView( "Вид" )
Set ДокументВида = view.Getfirstdocument
инициализируем одно, пользуем другое...
гдеж тут понятней? ;)
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 933
609
BIT
177
по задаче - непонятно зачем копировать в новый док, при отправке, что мешает отправить существующий?
все что будет нужно - body (NotesRichTextItem) и SendTo (куда и пишем - кому)... да, еще Subject (ато как-то неприлично)
про свечку...
когда уважающий себя программист не потрудился посмотреть примеры в хэлпе дизайнера и попытать гугл - это более чем странно ;)

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

Dios1986

Ну в общем посидел, по напрягал мозг и получилось, НО в отправленном письме в теле письма текст без форматирования и вычисляемых полей отправляется, а если в базе этот документ открыть и пересохранить, то этим же методом отправляется тело письма с форматированием :blush: что необходимо делать для того, что б в отправленном письме сохранилось форматирование...... ну помогите самоучке, только без наездов, а то каждая строчка весьма тяжело дается
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 933
609
BIT
177
Код:
Call CopyDoc.ReplaceItemValue({Subject},{моя любимая тема}):Call CopyDoc.ReplaceItemValue({SendTo},{почта@почта.com}):CopyDoc.Send False
это фсё - никаких копирований и созданий новых доков.
вы ответы читаете? -
непонятно зачем копировать в новый док

Добавлено: Call doc.ReplaceItemValue("NumberActual", NumberActual) - вот это врядли куда попадет (внешние почтари не знают о таких полях)
а если унутре нотусятины - то формы может не быть, а она у вас False
 
D

Dios1986

Код:
Call CopyDoc.ReplaceItemValue({Subject},{моя любимая тема}):Call CopyDoc.ReplaceItemValue({SendTo},{почта@почта.com}):CopyDoc.Send False
это фсё - никаких копирований и созданий новых доков.
вы ответы читаете? -

спасибо, буду пробовать.....

Задача в том, что б создать документ с рядом информации, и поле "Body" отправить, а в случае "если чяво" показать что такая-то инфа тогда-то была отправлено

я так понимаю что необходимо выполнить некое действие, типа как из вида @Command( [ToolsRefreshAllDocs] ), но как это реализовать в lotusscript не знаю
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 933
609
BIT
177
CopyDoc.GetFirstItem ("Body")
уже есть поле боди и его отправит код выше, при этом - не нужно создавать новый док, копировать и т.п. (занимать процессор лишними задачами)
если нужно логирование действий, то как минимум - отправка будет зафиксирована в логах (на сервере), а если хочется чего-то большего - нужно писать отдельное приложение, кот. будет отслеживать массу др. параметров
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!