$ soapclient = new soapclient( "http://exchangeserver/ews/exchange.asmx?wsdl"); $ soapclient-> __ setsoapheaders(array(new soapheader( "http://schemas.microsoft.com/exchange/services/2006/messages"、 "requestserverversion")、array( "version" => "edguted2007_sp1"))); $ soapclient-> __ setUsername( "username"); $ soapclient-> __ setPassWord( "Password");
このコードは、Exchangeサーバーへの接続を確立し、要求されたサーバーバージョン、ユーザー名、およびパスワードを設定します。
$ filter = new stdclass(); $ filter-> fielduri = new stdclass(); $ filter-> fielduri-> fielduri = "item:subject"; $ filter-> contains = new stdclass(); $ filter-> contains-> constant = new stdclass(); $ filter-> contains-> constant-> value = "spam"; $ filter-> cantmementcomparison = "exact";
このコードは、「スパム」という単語で電子メールをフィルタリングするために、電子メールを介してフィルターします。
$ request = new stdclass(); $ request-> traversal = "shallow"; $ request-> itemshape = new stdclass(); $ request-> itemshape-> baseshape = "allproperties"; $ request-> indexedPageItemView = new StdClass(); $ request-> indexedPageItemView-> basePoint = "beginning"; $ request-> indexedPageItemView-> offset = 0; $ request-> indexedPageItemView-> maxentriesReturned = 100; $ request-> parentfolderids = new stdclass(); $ request-> parentfolderids-> distinguedfolderid = new stdclass(); $ request-> parentfolderids-> distinguedfolderid-> id = "inbox"; $ request-> restriction = $ filter; $ response = $ soapclient-> __ soapcall( "findItem"、array($ request));
このコードは、「スパム」という単語を含むすべてのメッセージを含む基準を満たすメーリングリストを返します。
if($ response && $ response-> responsemessages-> findItemresponsemessage && $ response-> ressuntemessages-> findItemresponsemessage-> findItemResponsemessage-> roothessages-> ressuntemessages-> findItemresponsemessage-> rootfolder-> $ items = $ response-> ressuntemessages-> findItemResponsemessage-> rootFolder-> items-> message; foreach($ items as $ item){ $ itemid = $ item-> itemid-> id; $ soapclient-> deleteItem(array( "deletetype" => "harddelete"、 "itemids" => array( "itemid" => array( "id" => $ itemid))); } }
上記のコードを使用すると、メーリングリストを反復し、削除操作を使用してすべてのスパムを削除します。