У меня есть сервер Zarafa, и я хочу получить доступ к почте и записям календаря через интерфейс PHP MAPI.
Я ничего не узнал об этом решении для PHP, только для языков с высоким уровнем программирования, таких как C ++.
Знаете ли вы описание или пример того, как реализовать и использовать интерфейс MAPI в PHP для связи и получения данных с сервера Zarafa?
Вам нужно использовать расширение php-mapi, предоставленное zarafa
Посмотрите на API ниже для PHP-MAPI, хотя он очень старый, но он даст вам отправную точку
https://community.zarafa.com/php-ext/
Также вы можете клонировать этот репозиторий, чтобы посмотреть некоторые примеры скриптов на php и python
В настоящее время я могу получить доступ к папке календаря и получить стандартную информацию, такую как тема, тело и т. Д., Которые уже определены, но если я хочу получить дополнительные сведения, такие как время начала или окончания или местоположение, их нет в ответе. массив. Я также пробовал строки доступа, такие как «PT_STRING8: PSETID_Appointment: 0x8208», не работал.
$contents_table = mapi_folder_getcontentstable($this->calendar);
$props = array();
// $props["entryid"] = PR_ENTRYID;
$props["subject"] = PR_SUBJECT;
$props["body"] = PR_BODY;
$props["start"] = "PT_SYSTIME:{00062002-0000-0000-C000-000000000046}:0x820d";
$props["dtstamp"] = PR_LAST_MODIFICATION_TIME;
$props["location"] = "PT_STRING8:{00062002-0000-0000-C000-000000000046}:0x8208";
/* location, start won't be displayed */$prop_ids = getPropIdsFromStrings($this->user_store, $props);
$rows = mapi_table_queryallrows($contents_table, $prop_ids);
var_dump($rows);
Итак, как я могу прочитать информацию, где я должен сам написать строку идентификатора?
Спасибо
РЕДАКТИРОВАТЬ :
Получил это, проверив, использую ли я хранилище по умолчанию или нет, и у меня возникла программная ошибка при создании экземпляра класса, где я забыл сбросить хранилище, поэтому хранилище было пустым, а mapi_getIdsfromNames вернул пустой массив