2014-11-24 1 views
0

У меня есть сервер Zarafa, и я хочу получить доступ к сообщениям электронной почты и календаря через интерфейс PHP MAPI.Как получить доступ к интерфейсу MAPI Zarafa в PHP?

Я не нашел ничего об этом решении для PHP, только для языков с высоким программированием, таких как C++.

Вы знаете описание или пример того, как реализовать и использовать интерфейс MAPI в PHP для связи и получения данных с сервера Zarafa?

ответ

1

Вы должны использовать расширение PHP-Mapi предоставленный Zarafa

Взгляните ниже API для PHP-MAPI, хотя это очень старый, но это даст вам отправную точку

https://community.zarafa.com/php-ext/

Также вы можете клонировать этот репозиторий, чтобы посмотреть на некоторые примеры сценариев в PHP и Python

https://github.com/zarafagroupware/zarafa-tools

0

В настоящее время я могу получить доступ к папке календаря и получить стандартную информацию, такую ​​как тема, тело и т. Д., Которые уже определены, но если я хочу получить дополнительные функции, такие как время начала или окончания или местоположение, они не находятся в массив ответов. Я также пробовал строки доступа, такие как «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); 

так, как я могу прочитать информацию, где я должен написать строку id самостоятельно?

Спасибо

EDIT: Понял, проверяя ли я с помощью магазина по умолчанию или нет, и я получил ошибку программирования в создании экземпляра класса, в котором я забыл сбросить магазин, поэтому магазин был null и mapi_getIdsfromNames возвращенный пустой массив