Войти
 
 
   
 
  
Новости Notes.ру Библиотека Биржа труда Вопрос - ответ Форум Регистрация Поиск О проекте
Разделы
Вся лента вопрос-ответ
Рубрики
   Разработка notes-приложений
   Разработка web-приложений
   Администрирование Notes&Domino
   Почта Lotus Domino
   Общие вопросы
 
Всё о задаче AdminP. Часть вторая   Во второй части мы завершаем рассмотрение AdminP. В ней рассмотрены запросы междоменного администрирования и способы управления функциями AdminP с помощью настроек документа сервера, команд консоли сервера, файла Notes.ini и интервалов очистки базы данных. В этой статье предполагается, что вы опытный администратор Domino и прочитали первую часть
О Notes Читать статью
 
Всё о задаче AdminP. Proxy-действия в R5 и Domino 6   Приложение к статье об административном процессе
О Notes Читать статью
 
Всё о задаче AdminP. Часть первая   Перевод классической статьи 2003-его года о задаче административного процесса (AdminP). Очень полезна для понимания работы механизма этой задачи. В первой части статьи описаны компоненты задачи AdminP, как они работают, и как их использование помогает сделать работу администратора Domino проще. Задача AdminP (сакращённо от Administration Process, Административный процесс) работает с базой административных запросов (Administration Requests, admin4.nsf)
О Notes Читать статью
 


Вопрос-ответ

RSS
Главная   Вопрос-ответ   Как заменить адрес отправителя в письме, отправляемом программно

Как заменить адрес отправителя в письме, отправляемом программно

Вопрос:

Я скриптом отправляю письмо по почте. Очень хочется изменить поле From в письме. Но проблема в том, что оно в почтовой базе, в форме Memo имеет тип ComputedWhenCompose и формулу - @UserName. Как я понимаю менять скрипт в почтовой есть очень плохо.

Ответ:


Позвольте немного поправить

1. Не очень хорошо менять дизайн почтовой базы. По той простой причине, что однажды Вы решите перейти на новую версию Notes - и Ваши доработки будут потеряны... или наоборот: Вы не сможете использовать новую версию почтовой базы
2. Значение поля From для отправленных писем не зависит от того, что будет вычислено формулой формы или что Вы запишете в это поле. Оно определяется задачей Mailer во время отправки сообщения в следующем порядке:
- содержимое поля Internet mail address (IMailAddress) текущего документа Location (Местоположение)
- если содержимое поля пустое - содержимое поля Internet address (InternetAddress) документа Person Корпоративной адресной книги
- если по-прежнему значение вычислить не удалось - для формирования адреса используется шаблон из документа Global Domain Корпоративной Адресной книги и информация из документа Person пользователя также из Корпоративной адресной книги

3. Обмануть задачу можно, создав письмо непосредственно в почтовой базе mail.box (или каким-то образом скопировав его туда)
Ниже приведен работающий код, который можно взять за основу
Правда, есть одно НО... Не знаю, как поведет себя Notes, если такое письмо окажется не в серверном mail.box, а mail.box локальной станции - уйдет ли оно на сервер при отправке почты

Sub Initialize
Dim session As New NotesSession
Dim curdb As NotesDatabase
Dim mailbox As NotesDatabase
Dim mdoc As NotesDocument
Dim item As NotesItem
Dim rtitem As NotesRichTextItem

Set curdb = session.CurrentDatabase
Set mailbox = session.GetDatabase(curdb.Server, "mail.box")
Set mdoc = mailbox.CreateDocument
Set item = New NotesItem(mdoc, "Form", "Memo")
item.IsSummary = True
Set item = New NotesItem(mdoc, "From", "BillGates@microsoft.kirov.ru")
item.IsSummary = True
Set item = New NotesItem(mdoc, "SendTo", "MonikaLewinsky@whitehouse.gov")
item.IsSummary = True
Set item = New NotesItem(mdoc, "Recipients", "MonikaLewinsky@whitehouse.gov")
item.IsSummary = True
Set item = New NotesItem(mdoc, "Subject", "Hello, Bill!")
item.IsSummary = True
Set item = New NotesItem(mdoc, "PostedDate", Now )
item.IsSummary = True
Set rtitem = New NotesRichTextItem(mdoc, "Body")
Call rtitem.AppendText("Высылаю свое резюме и рекомендации с последнего места работы")
Call rtitem.AddNewLine(1)
Call rtitem.Embedobject(EMBED_ATTACHMENT, "", "c:\\temp\\About.doc", "Моника.doc")
Call mdoc.Save(True, True)
End Sub


Успехов!
Николай Норкин
 
  Опубликовано — 07/26/2005 |    

Мероприятия
Пресс-релизы
Биржа труда
Последнее на форуме
 
А так же:
Как удалить профиль?
16.04.2016 00:08:51
Скопировать в буфер поле документа
24.05.2015 08:55:52
Импорт DXL-описания документов в Lotus Domino. Одноимённые поля
16.04.2015 16:49:58
 
© LOGOSPHERE.RU