Pergunta

Alguém sabe de uma classe PHP open source (de preferência BSD ou MIT licença) que irá interagir com os serviços da Web MS Exchange Server 2007 através de. Sabão?

Eu estou procurando uma classe de nível superior que tem a funcionalidade de envio de mensagens via. o serviço web.

Foi útil?

Solução

Eu tive esse mesmo problema, então eu comecei a construir algo, aqui:

https://github.com/rileydutton/Exchange-Web-Services- para-PHP

Não faz muito ainda (basicamente apenas permite obter uma lista de mensagens de correio electrónico a partir do servidor e enviar e-mail), mas seria bom o suficiente para o uso como um ponto de partida básico para fazer algumas coisas mais complicadas.

Eu abstraída um bom bocado da complexidade que você teria que slog através usando PHP-EWS. Se você estiver olhando para fazer algumas, comandos poderosos matérias com o servidor, eu usaria php-EWS ... isto é para pessoas que só acontecerá a estar trabalhando com um servidor Exchange e querem uma maneira fácil de fazer algumas tarefas básicas.

Oh, e é MIT licenciado.

A esperança de que alguém encontra-lo! Útil

Outras dicas

Aqui está uma classe que você precisa: php EWS (Esta biblioteca faz Microsoft Exchange 2007 Web Services mais fácil de implementar em PHP). Você pode encontrá-lo em: http://code.google.com/p/php-ews/

Não é apenas um exemplo, mas isso deve dar-lhe o caminho para implementá-lo. Abaixo, você pode encontrar uma implementação, a fim de:

  • Conectar ao Servidor
  • obter os eventos do calendário

Nota: não se esqueça de preencher variáveis ??em branco. Você também precisa incluir arquivos PHP Classes-EWS (eu usei a função __autoload PHP).

$host = '';
$username = '';
$password = '';
$mail = '';
$startDateEvent = ''; //ie: 2010-09-14T09:00:00
$endDateEvent = ''; //ie: 2010-09-20T17:00:00

$ews = new ExchangeWebServices($host, $username, $password);
$request = new EWSType_FindItemType();
$request->Traversal = EWSType_FolderQueryTraversalType::SHALLOW;

$request->CalendarView->StartDate = $startDateEvent; 
$request->CalendarView->EndDate = $endDateEvent; 
$request->CalendarView->MaxEntriesReturned = 100;
$request->CalendarView->MaxEntriesReturnedSpecified = true;
$request->ItemShape->BaseShape = EWSType_DefaultShapeNamesType::ALL_PROPERTIES;

$request->ParentFolderIds->DistinguishedFolderId->Id = EWSType_DistinguishedFolderIdNameType::CALENDAR;   
$request->ParentFolderIds->DistinguishedFolderId->Mailbox->EmailAddress = $mail;
$response = $ews->FindItem($request);
echo '<pre>'.print_r($response, true).'</pre>';

suportes de servidor do Exchange WebDAV:

http://www.troywolf.com/articles/php/exchange_webdav_examples.php

Se tudo que você quer fazer é enviar mensagens, você pode simplesmente usar SMTP:

http://ca2.php.net/manual/en/book .mail.php

Fui pesquisando esse mesmo problema e eu ainda tenho que encontrar uma classe específica para o MS Exchange. No entanto, se você sentir-se à aprendizagem e construção do XML, você pode querer ter um olhar para as classes NTLM SABÃO em http://rabaix.net/en/articles/2008/03/13/using-soap-php-with-ntlm-authentication . Isso permitirá que você para autenticar contra o Active Directory para fazer suas chamadas SOAP, que nativa PHP SOAP não permitem que você faça. Outro recurso decente que usa o mesmo método para se conectar ao MS CRM é http://www.reutone.com/heb/articles_internet.php?instance_id=62&actions=show&id=521 .

Os exemplos sob http://www.troywolf.com/articles/php/ exchange_webdav_examples.php são para Exchange 2003 não 2007.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top