*,
我想每天将一些.EML文件上载到我的Exchange Server 2013。所以我从Google上找到了一个来自James Iarmes的PHP类,叫做PHP-EWS。https://github.com/jamesiarmes/php-ews
我尝试了一些例子,我认为,这门课对我很有好处。只有一个问题:这个wiki中没有示例代码,不幸的是我没有把它拿出来:-(
有没有人使用这个类,并且可以发布一个使用PHP-EWS上传到Exchange-Servers的示例?
问候
发布于 2016-04-28 19:02:35
基于上面Michael给出的答案,我不能告诉你如何在jamesaires/php-ews中做到这一点,但我可以在我的ews库garethp/php-ews中告诉你如何做到这一点。我强烈建议您查看我的库,因为它得到了维护,并且与PSR-4兼容。下面是你如何使用Michael的方法
<?php
require_once "vendor/autoload.php";
use jamesiarmes\PEWS\API\Type;
use jamesiarmes\PEWS\Mail\MailAPI;
$api = MailApi::withUsernameAndPassword('server', 'username', 'password');
$message = new Type\MessageType();
$message->setMimeContent(file_get_contents('./file.eml'));
//Set the message as not a draft using extended property types
$extended = new Type\ExtendedPropertyType();
$fieldUri = new Type\ExtendedFieldURI();
$fieldUri->setPropertyTag("0x0E07");
$fieldUri->setPropertyType(\jamesiarmes\PEWS\API\Enumeration\MapiPropertyTypeType::INTEGER);
$extended->setExtendedFieldURI($fieldUri);
$extended->setValue(1);
$message->addExtendedProperty($extended);
//Pass it to the Send Mail function, but to SaveOnly without actually sending the email
$itemId = $api->sendMail($message, array('MessageDisposition' => 'SaveOnly'));
$inbox = $api->getFolderByDistinguishedId('inbox');
//Move the mail message from the sent folder to whatever folder we want to send it to
$api->getClient()->MoveItem(Type::buildFromArray(array(
'ToFolderId' => array('FolderId' => $inbox->getFolderId()->toArray()),
'ItemIds' => array(
'ItemId' => $itemId->toArray()
)
)));发布于 2016-04-27 04:46:07
我从未使用过PHP-EWS,但我知道您可以将.eml放入Exchange.You中,而不是使用UploadItem操作。您将使用CreateItem操作。下面是工作流程:
<代码>G29
我相当有信心,因为我记得我在官方documentation中写过这篇文章。
https://stackoverflow.com/questions/36767366
复制相似问题