fruitad / exchange-web-services-for-php
PHP 5交互Exchange Web Services的基本库
Requires
- php: >=5.4.0
- ext-curl: *
- ext-simplexml: *
README
Exchange Web Services for PHP
这是一个基本的库,用于抽象Exchange Server 2007上存在的Exchange Web Services API的一些常用操作。它主要基于通过SOAP与Exchange通信。
目前仅支持基本操作(从用户的收件箱中获取所有电子邮件(包括附件)、发送电子邮件消息、获取日历事件以及利用委托支持访问多个账户),但随着时间的推移,希望可以添加更多功能。
安装
基本安装
你可以试一下,但在我的Exchange服务器上不起作用。如果在你那里不起作用,请不要惊慌,只需查看下面的“高级安装”部分。
基本安装主要是告诉ExchangeClient在Exchange服务器本身上查找SOAP文件。你可以在初始化时这样做
$exchangeclient = new ExchangeClient();
$exchangeclient->init("mailbox_username", "mailbox_password", NULL, "http://exchange.server.local/EWS/Services.wsdl");
如果对你有效,那太好了。如果不行,那么你遇到了和我一样的问题,请查看下面的高级部分。
高级安装
安装比我预期的要复杂一些,但大部分都是由于API的设置方式。
你必须做的第一件事是从你的Exchange服务器下载SOAP文件。这些文件位于这里(请确保将"exchange.server.local"替换为你的网络中Exchange服务器的地址)
http://exchange.server.local/EWS/Services.wsdl
http://exchange.server.local/EWS/messages.xsd
http://exchange.server.local/EWS/types.xsd
下载这三个文件,并将它们放在"ExchangeClient.php"文件所在的同一目录中。
最后,在文本编辑器(不要使用文字处理软件,如MS Word)中打开Services.wsdl文件,并在文件的底部,在最后的
<wsdl:service name="ExchangeServices">
<wsdl:port name="ExchangeServicePort" binding="tns:ExchangeServiceBinding">
<soap:address location="http://exchange.server.local/EWS/Exchange.asmx"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>标签之前,添加以下内容
确保将exchange.server.local替换为你的实际Exchange服务器地址。
这就完成了!你现在应该可以使用这个库了。只需在PHP脚本中包含'init.php'即可。
include "init.php";
$ec = new ExchangeClient();
$ec->init("mailbox_username", "mailbox_password");
$ec->send_message("you@otherdomain.com", "Subject", "A test message");