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

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

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

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

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

Скрытие поля Principal

  • Автор темы 1KIA
  • Дата начала
1

1KIA

помогите пожалуйста
НЕобходимо письмо отправлять без указания ОТ , т.е. без Principal
Пробую сделать кнопку с след. кодом, но не могу понять как из текущего письма взять данные из полей Subject и SendTo
Код:
	Dim s As New NotesSession
Dim db As NotesDatabase
Dim mailDoc As NotesDocument
Set db = s.CurrentDatabase	
Set mailDoc = db.CreateDocument


mailDoc.Form = "Memo"
mailDoc.Principal = ""
mailDoc.SMTPOriginator = ""
mailDoc.DisplaySent = ""
mailDoc.Subject = "TEST"
mailDoc.Importance = "1"

Dim otpr As Variant
otpr = maildoc.getItemValue("SendTo")(0)

Call mailDoc.Replaceitemvalue("SendTo", otpr)
Call mailDoc.Send(False)
 
H

hosm

что есть из "текущего письма"?

otpr = maildoc.getItemValue("SendTo")(0)
(0) не надо, если адресатов несколько.
maildoc - это вновь созданный документ, нет у него этого поля, оно заполяется в следующем далее коде.
Могу предложить смотреть поле в NotesUIWorkSpace.CurrentDocument.Document (текущий в уи) или текущих во вьюхе (NotesUIView.CaretNoteID или Documents - выделенных галкой)
 
1

1KIA

OKEN
может я вообще не с той стороны подошла. Мне надо просто при отправке писем не заполнять Principal . Может тогда есть другой вариант?

может можно как-то на кнопке Отправить переделать :
Код:
Principal:=" ";
SMTPOriginator:=" ";
MEMO_SEND:="1024";
FIELD ActionInProgress:=MEMO_SEND;
@If(@Command([FileSave]);@Command([FileCloseWindow]);@Return(""))
Все равно приходит от кого именно отправилось
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 933
609
BIT
177
какая цель письма без ОТ?
 
H

hosm

может.
У меня просто другая проблема была - как раз надо было заполнять поля Principal и INetFrom, так как отправка шла в агенте.
 
1

1KIA

lmike
цель такая, что из почтовой базы отправляют письма, а приходить они на внешнюю и внутреннюю почту от определенного адреса (email компании)
 
N

nvyush

цель такая, что из почтовой базы отправляют письма, а приходить они на внешнюю и внутреннюю почту от определенного адреса (email компании)
Непосредственно класть в mail.box. doc.Send, насколько я помню, сам проставляет отправителя.
 
X

xKlonx

Код:
Dim s As New NotesSession
Dim db As NotesDatabase
Dim mailDoc As NotesDocument
Set db = s.CurrentDatabase	
Set mailDoc = db.CreateDocument


mailDoc.Form = "Memo"
Call	mailDoc.ReplaceItemValue("Principal"," ")  ' в скобки пробел, таким образом скрывает принципал 
mailDoc.SMTPOriginator = ""
mailDoc.DisplaySent = ""
mailDoc.Subject = "TEST"
mailDoc.Importance = "1"

Dim otpr As Variant
otpr = maildoc.getItemValue("SendTo")(0)

Call mailDoc.Replaceitemvalue("SendTo", otpr)
Call mailDoc.Send(False)
 
1

1KIA

nvy
так можно его хоть как-то скрывать?
 
1

1KIA

nvy
я поиском уже находила данные ссылки
Я просто из такого метода не могу понять, как взять значение из полей. Т.е. чтобы не вручную вводить SendTo и Subject
 

lmike

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

1KIA

если компанейское письмо - заведите общий адрес (с юзером) подпишите юзером агент (или исполняйте от его имени)

так все равно приходит подпись, т.е. указан отправитель (база ) и тот кто нажал кнопку
А мне не надо чтобы писало кто именно нажал кнопку, а надо чтобы отправлялось от владельца базы
 
1

1KIA

:what?: может еще как-то можно отправить письмо без Principal??? :(
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 933
609
BIT
177
а надо чтобы отправлялось от владельца базы
если агент исполняется от имени к-л (это задаётся в дизайнере) - он и будет в поле from, а не нажавший кнопку, в случае запуска на сервере!

Добавлено: -создаем агент с вашим кодом (назовём mailsend тип запуска - agent list)
-заводим юзера для отправки таких мэйлов (в базе, у него, д.б. соответ права)
-ставим этого юзера в "Run on behalf of" агента
-создаем второй агент (или кнопку) с кодом
Код:
Dim s As New NotesSession
Dim db As NotesDatabase
Set db = s.CurrentDatabase
Dim agent As NotesAgent
Set agent=db.GetAgent("(mailsend)")
Call agent.RunOnServer
 
1

1KIA

lmike
тогда пишу, как сделала, может не правильно
- на форме кнопка, при нажатии которой запускается агент
- агент:
Код:
MEMO_SEND:="1024";
FIELD ActionInProgress:=MEMO_SEND;
@If(@Command([FileSave]);@Command([FileCloseWindow]);@Return(""));
свойства агента: target - None
Run on behalf of - тот от кого хочу отправлять письма
Агент изменен и сохранен тоже тем же пользователем (от кого хочу отправлять письма)
 
Мы в соцсетях:

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