PHP-EWS:UploadItem使用PHP for.EML文件
*, 我想每天将一些.EML文件上载到我的Exchange Server 2013。所以我在Google上找到了一个来自James Iarmes的PHP类,叫做PHP-EWS。 我尝试了一些例子,我认为,这门课对我很好。只有一个问题:在这个wiki中没有示例代码,不幸的是我没有得到它:-( 是否有人使用这个类并可以发布一个示例,使用PHP-EWS上传到Exchange服务器PHP-EWS:UploadItem使用PHP for.EML文件,php,exchangewebservices,Php,Exchangewebservices,*, 我想每天将一些.EML文件上载到我的Exchange Server 2013。所以我在Google上找到了一个来自James Iarmes的PHP类,叫做PHP-EWS。 我尝试了一些例子,我认为,这门课对我很好。只有一个问题:在这个wiki中没有示例代码,不幸的是我没有得到它:-( 是否有人使用这个类并可以发布一个示例,使用PHP-EWS上传到Exchange服务器 关于我从未使用过PHP-EWS,但我知道您可以将.eml放入Exchange。您不会使用UploadItem操作。您将使
关于我从未使用过PHP-EWS,但我知道您可以将.eml放入Exchange。您不会使用UploadItem操作。您将使用CreateItem操作。以下是工作流:
我很有信心这会起作用,因为我记得我在官方网站上写过这篇文章。根据上面Michael up给出的答案,我无法告诉你在
jamesaires/php-ews中如何做到这一点,但我可以告诉你在我的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()
)
)));
您好,感谢您发布此方法。我已经发布了一些使用PHP ews库实现此功能的PHP代码。实际上,我一直想与您联系,更新exchange web服务网站上的PHP ews文档,因为它当前链接到的库没有维护,也没有遵循现代做法。有吗有什么办法能让我和你联系聊聊吗?@GarethParker,当然,你可以在MichaelMainer的Twitter上给我发DM