• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

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

    Запись на курс до 25 апреля. Получить промодоступ ...

@mailsend-Как сделать в нём массовую рассылку

  • Автор темы Sandro
  • Дата начала
S

Sandro

И снова не умный вопрос))) Есть задача разослать ссылку на документ нескольким адресатам, ну я сделал кнопочку с выбором пользователей из базы, которая добавляет почтовый адрес (через запятую, а ля родная почта), потом делаю @MailSend(поле со списком...
Короче @MailSend пытается адрес воспринять как один (((

В мануале писшут

sendTo
Text or text list. The primary recipient(s) of the mail memo.

Не могу догнать , как этот text list организовать
 
K

Klido

список построй через ":" должны быть элементы
 
S

Sandro

Через ":" не помогло :-( , сделал стандартную выборку через свойства поля name
 
N

nvyush

Через ":" не помогло :-( , сделал стандартную выборку через свойства поля name
Если вбивать адреса "ручками", то в свойствах у поля должно быть на первой заклдке включено "Allow multiple values", на третьей выбраны допустимые разделители (зпт, тчк с зпт и т.п.).
Если загонять значения "собаками", то через двоеточие.
Если скриптом - то сперва генерить массив или юзать функции типа ArrayAppend, Split. Лотус-имена д.б. в канонической форме иначе возможны траблы.
 
X

xKlonx

Sandro
Код:
adrress1:="адрес1";
addres2:="адрес2";
@MailSend(adrress1:addres2;"";"";"Новое мероприятие")
Попробуй так

Добавлено: Sandro
Код:
				Dim w As New NotesUIWorkspace	 
Dim uidoc As NotesUIDocument		
Dim session As New NotesSession
Dim db As NotesDatabase
Dim doc As NotesDocument
Dim rtitem As NotesRichTextItem
Dim Line1 As String	
Dim address(1 To 50) As String	

address(1) = "адрес1"
address(2) = "адрес2"

line1 = "Нажмите на иконку чтобы открыть документ --> "
Set db = session.CurrentDatabase
Set uidoc = w.CurrentDocument	
Set doc = uidoc.Document
doc.Form = "Memo"
doc.SendTo = address
Set rtitem = New NotesRichTextItem( doc, "Body" )
Call rtitem.AddNewline(1)
Call rtitem.AppendText( line1 )
Call rtitem.AppendDocLink( doc,"" )
doc.Subject = "Новое мероприятие "
Call doc.Send( False )
doc.Save True, True
uidoc.Close
Так на скрипте,работает проверял)
 
X

xKlonx

Sandro
Получилось?
Есть ещё вариант,тоже проверял работает:
Создаёте поле типа DialogList, в свойствах поставте галочку Allow multiple values, на второй табе указывайте Use Address dialog for choices.
На кнопку или событие вешаете код:
Код:
@MailSend(address;"";"";"Новое мероприятие";"")
Где address - наше поле.Вот и всё
 
S

Sandro

Короче не получалось у меня , по причине того что док отсылаемый создаётся через dialogbox, добавил твой код для отправки почты, всё нормально, но при открытии 3-раза выдаёт ошибку "Не удаётся найти форму :", потом открывается и всё нормально, с какого перепугу он форму f_plan то требует?
Код:
Sub Initialize
Dim WS As New NotesUIWorkspace

Set ND= ws.CurrentDocument.Document
Set doc = New notesdocument(ws.currentdatabase.database)
Call doc.MakeResponse(ND) 
Continue=ws.DialogBox("f_plan",,,False,False,False,False,"Введите данные",doc,True,False,True)
If Not Continue Then
Call doc.RemovePermanently(True)
Exit Sub 
End If

doc.form="f_plan" 
Call doc.ComputeWithForm(True,False)
Call doc.Save(True,True,True)

Dim rtitem As NotesRichTextItem
Dim Line1 As String	
Dim address(1 To 50) As String	
address(1) = "- - -"
REM	address(2) = ""
line1 = "Нажмите на иконку чтобы открыть документ --> "
doc.SendTo = address
Set rtitem = New NotesRichTextItem( doc, "Body" )
Call rtitem.AddNewline(1)
Call rtitem.AppendText( line1 )
Call rtitem.AppendDocLink( doc,"" )
doc.Subject = "Новое мероприятие "
Call doc.Send( False )

Messagebox "Отработало",, "Success"


End Sub
 
N

nvyush

Sandro
Почитайте в справке про NotesUIWorkspace.DialogBox.
А ругается, видимо, на строчке

Continue=ws.DialogBox("f_plan",,,False,False,False,False,"Введите данные",doc,True,False,True)

Форма "f_plan" есть в базе, откуда идёт отправка или нет?
 
X

xKlonx

Sandro
Посмотри под дебагом на чём вылетает
 
H

hosm

В почту шлем? Тогда "Memo", например.
Код:
	call doc.ReplaceItemvalue("Form", "Memo")
Call doc.Send( False )

Добавлено: Формы f_plan нет в почтовой БД :rolleyes: Я угадала?
 
S

Sandro

XRomaX респект , человек, ни одной догадки они 100% ответы
 
X

xKlonx

Sandro
XRomaX респект , человек, ни одной догадки они 100% ответы
Здесь нужно OKEN благодарить,я сразу и сам не заметил,думаю она + заработала?
Sandro
А вы не бойтесь спрашивайте
 
S

Sandro

OKEN еспешили, спасибо

Добавлено: Народ, может подскажите ещё , как из поля (Name) с множественным значением получить массив ?
 
K

Klido

оно и есть массив только в понимании список :) дальше - смотря что делать с ним надо....
 
X

xKlonx

Конкретнее опишите что хотите сделать
 
N

nvyush

Добавлено: Народ, может подскажите ещё , как из поля (Name) с множественным значением получить массив ?

В принципе любое поле простого типа (текст, число, дата) и есть одномерный массив. Если флаг многозначности сброшен, то с одним значением. При работе с Names полями надо иметь ввиду, что получаем массив строк с именами в канонической форме, для перевода в другие формы нужно пользовать NotesName или собак+evaluate.
 
Мы в соцсетях:

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