문제

저는 PHP로 CMS 애플리케이션을 작성하고 있는데 요구 사항 중 하나는 고객의 Exchange 서버와 인터페이스할 수 있어야 한다는 것입니다.나는 이 기능을 이전에 몇 번 작성했고 항상 사용해 왔습니다. 웹DAV 하려고 했는데 지금은 그 일에서 멀어지고 있어요.

저는 Windows Server 2008의 IIS 또는 Apache(기본 설정 없음)에서 사이트를 실행할 예정입니다.내가 해야 할 몇 가지 작업에는 특정 사용자의 주소록에 연락처를 추가하고, 특정 사용자로서 이메일을 보내고, 사용자의 연락처에 대한 보고서를 실행하는 것이 포함됩니다.

이 모든 것은 WebDAV를 사용하면 매우 쉽게 수행할 수 있지만, 기능이 필요하지 않은 더 나은 방법이 있다면 조만간 더 이상 사용되지 않을 것입니다.

어떤 아이디어가 있나요?

업데이트:

저스틴, 나는 com 개체를 사용하는 아이디어를 좋아합니다. 모든 것이 작동하도록 세 번째 제품을 유지 관리하는 것에 대해 걱정하고 있습니다.

John, 저는 C#으로 웹 서비스를 작성하여 이러한 기능과 인터페이스하고 PHP 앱으로 액세스할 수 있지만 약간 방해가 됩니다.

지금까지 나는 이들 중 어느 것이 WebDAV보다 낫다고 100% 확신하지 못합니다...

내가 어디가 어리석은지 보여줄 수 있는 사람이 있나요?

도움이 되었습니까?

해결책

나는 이 작업을 수행하기 위해 PHP를 사용하지 않았지만 C#을 사용하여 동일한 작업을 수행한 경험이 있습니다.

Outlook API는 Exchange에 직접 연결하는 대신 Outlook을 자동화하는 방법입니다.이전에 C# 애플리케이션에서 이 접근 방식을 취했는데 버그가 있을 수 있지만 작동합니다.

Exchange 서버에 직접 연결하려면 확장 MAPI를 조사해야 합니다.

예전에는 이 래퍼를 사용했는데 MAPIEx:확장된 MAPI 래퍼.

C# 프로젝트이지만 PHP5 Windows 서버에서 일부 .NET 코드를 사용할 수 있다고 생각합니다.또는 사용할 수 있는 C++ 코어 DLL이 있습니다.나는 그것이 매우 훌륭하다는 것을 알았고 몇 가지 좋은 예제 응용 프로그램이 있습니다.

업데이트:

현재 게시물을 추적할 수 있는 방법이 아직 지연되어 죄송합니다.

귀하의 애플리케이션에 더 많은 레이어를 추가하고 제3자 코드에 의존하는 것이 무서울 수 있다는 점에 동의합니다(그리고 당연히 그렇습니다.)

오늘은 또 다른 책을 읽었습니다 흥미로운 게시물 다른 주제에 관한 MAPI로 태그가 지정되었습니다.하지만 여기서 중요한 점은 다음과 연결되어 있다는 것입니다. 이 중요한 MS 기사.구성 요소의 C++ 코드는 관리되지 않기 때문에 이 오류의 영향을 받지 않지만 관리 코드를 사용하여 MAPI에 인터페이스할 때 지금까지 문제를 인식하지 못했습니다.

이 블로그 항목은 MAPI/Exchange 서버에 연결하는 다른 방법도 제안합니다.이 경우에는 이러한 새로운 사실로 인해 http://us3.php.net/imap 다른 사용자가 제안한 답변일 수도 있습니다.

다른 팁

고객이 Exchange 2007을 사용하고 있습니까?그렇다면 좀 살펴 보겠습니다. 웹 서비스 교환.그렇지 않다면 가능한 한 WebDAV가 최선의 선택이라고 생각합니다.

개인적으로 저는 Outlook.Application COM 개체 경로를 사용하는 것을 좋아하지 않습니다. 보안 메시지("응용 프로그램이 연락처에 액세스하려고 합니다.허용하시겠습니까?" 등의 질문은 서버에 문제를 일으킬 수 있습니다.또한 Outlook을 사용하여 특정 사용자로 메일을 보내는 것과 같은 가장과 유사한 작업을 수행하는 것도 어려울 것이라고 생각합니다.

Exchange 웹 서비스를 사용하여 PHP에서 몇 가지 기본 작업을 수행할 수 있는 오픈 소스 MIT 라이선스 라이브러리를 출시했습니다.

PHP용 Exchange 웹 서비스

Linux에서만 테스트했지만 Windows에 설치된 PHP에서도 작동하지 않는 이유를 찾을 수 없습니다.

Dmitry Streblechenko의 작품은 추천할 수 없습니다. 상환 데이터 개체 도서관은 충분히 높다.확장 MAPI에 정상적인 API를 제공하고 사용하기 편리한 COM 구성 요소입니다.Exchange API 골대는 한 릴리스에서 다음 릴리스로 이동합니다."그것을 써:운전하다!아니요, WebDAV를 사용하세요!아니요, exoledb를 사용하십시오!… 아니요, 웹 서비스를 사용하십시오!” 유일한 상수는 좋은 오래된 MAPI입니다.

저는 PHP 개발자는 아니지만 Google에서는 PHP 5+가 COM 구성 요소를 인스턴스화할 수 있다고 말합니다.상자에 Outlook을 설치할 수 있다면 COM 구성 요소 주변에 PHP 웹 서비스를 작성하여 필요한 요청을 처리할 수 있습니다.

$outlook = COM("Outlook.Application")

Outlook API 참조

나는 사용하는 것이 좋습니다 "PHP 교환 웹 서비스" 또는 짧다 PHP-ews.

상당한 양의 문서가 위키, 많은 도움이 되었습니다.

이것 자라파 PHP MAPI 확장 프로그램이 작동할 수 있을 것 같습니다.

IMAP을 살펴보겠습니다

IMAP, POP3 및 NNTP

https://github.com/Garethp/php-ews

3개월 전에 마지막으로 업데이트되어 유지되고 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top