Как получить тело сообщения и вложения в формате XML с помощью php / linux с сервера Lotus Domino? - PullRequest
3 голосов
/ 31 марта 2010

Есть ли у кого-нибудь информация о доступе к серверу Lotus Domino для получения всего почтового содержимого по http (s) запросам с сервера php linux?

Статья Андрея Кувчинникова хорошо описывает, как получить список сообщений в почтовых папках заметок; после получения идентификатора сеанса во время входа в систему можно, например, выбрать 100 лучших сообщений, позвонив по номеру:

https://your.server.domain/mail_db/mailbox.nsf/($Inbox)?ReadViewEntries&Start=1&Count=100

И это прекрасно работает. Проблема возникает, когда я пытаюсь получить содержимое сообщения (0A1DA5EEB7B65277C12576F50055D811 - это уникальный идентификатор сообщения примера):

https://your.server.domain/mail_db/mailbox.nsf/($Inbox)/0A1DA5EEB7B65277C12576F50055D811/?OpenDocument

Такой запрос в IE показывает набор фреймов с данными, которые трудно анализировать, в менее распространенных браузерах, таких как Opera, он сообщает о неподдерживаемом браузере. В идеале, если можно получить содержимое сообщения заметок и все вложения, запросив его в URL, есть ли у кого-нибудь какая-нибудь информация, каким будет запрос? Ссылка на веб-ссылку Lotus будет еще более полезной.

Ответы [ 3 ]

2 голосов
/ 01 апреля 2010

Сообщения электронной почты не приходят в формате XML. Это либо MIME, либо RichText. Поэтому, когда вы хотите, чтобы они были в формате XML, вам сначала нужно что-то преобразовать. XML-файл ReadViewEntries даст вам уже некоторые важные данные (от, время, тема), и вы можете использовать

https://your.server.domain/mail_db/mailbox.nsf/($Inbox)/0A1DA5EEB7B65277C12576F50055D811/Body?OpenField

, чтобы получить HTML-представление тела письма. Кроме этого, я бы развернул на сервере Domino небольшой агент, который отображает сообщения в нужном вам формате. Для сообщений MIME вы, вероятно, хотите использовать оригинальный формат MIME, а для RichText - его преобразование MIME.

1 голос
/ 10 апреля 2010

Окончательный ответ на эту проблему недокументирован в спецификации Lotus URL, поэтому я поделюсь им здесь. Для получения всего сообщения с заголовками и вложениями требуется только UID сообщения Lotus, URL:

https://your.server.domain/mail_db/mailbox.nsf/($Inbox)/ca59f0649511e091c12576ce005af21d/?OpenDocument&Form=l_MailMessageHeader&PresetFields=FullMessage;1

где ca59f0649511e091c12576ce005af21d - это пример UID сообщения. Я надеюсь, что кто-то найдет эту информацию полезной.

1 голос
/ 31 марта 2010

Вот список URL-команд Domino: http://www.ibm.com/developerworks/lotus/library/ls-Domino_URL_cheat_sheet/

Вы можете получить данные входящих сообщений в виде URL-адреса с помощью команды ReadViewEntries. К сожалению, нет встроенного для чтения документов в формате XML.

Один совет - создать копию почтовой формы в почтовой базе данных Notes (или шаблон, используемый всеми почтовыми базами данных) и настроить ее для вывода XML для всех почтовых полей. Затем вам нужно будет установить форму только для Интернета и переименовать или скрыть любые другие с тем же именем, которые настроены для отображения в Интернете. Затем Notes будет использовать вашу форму для создания ответов для веб-клиентов. Обратите внимание, что вам также придется внести некоторые изменения в шаблон, чтобы запретить использование наборов фреймов для веб-клиентов. К сожалению, эти изменения могут нарушить использование Domino Web Access, если вы используете эту систему для доступа к электронной почте через Интернет.

...