首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP-EWS:为.eml文件使用PHP的UploadItem

PHP-EWS:为.eml文件使用PHP的UploadItem
EN

Stack Overflow用户
提问于 2016-04-21 18:51:16
回答 2查看 309关注 0票数 1

*,

我想每天将一些.EML文件上载到我的Exchange Server 2013。所以我从Google上找到了一个来自James Iarmes的PHP类,叫做PHP-EWS。https://github.com/jamesiarmes/php-ews

我尝试了一些例子,我认为,这门课对我很有好处。只有一个问题:这个wiki中没有示例代码,不幸的是我没有把它拿出来:-(

有没有人使用这个类,并且可以发布一个使用PHP-EWS上传到Exchange-Servers的示例?

问候

EN

回答 2

Stack Overflow用户

发布于 2016-04-28 19:02:35

基于上面Michael给出的答案,我不能告诉你如何在jamesaires/php-ews中做到这一点,但我可以在我的ews库garethp/php-ews中告诉你如何做到这一点。我强烈建议您查看我的库,因为它得到了维护,并且与PSR-4兼容。下面是你如何使用Michael的方法

代码语言:javascript
复制
<?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()
    )
)));
票数 2
EN

Stack Overflow用户

发布于 2016-04-27 04:46:07

我从未使用过PHP-EWS,但我知道您可以将.eml放入Exchange.You中,而不是使用UploadItem操作。您将使用CreateItem操作。下面是工作流程:

  1. 创建一个email对象。
  2. 使用.eml文件的内容设置MimeContent属性。
  3. 设置PR_MESSAGE_FLAGS_msgflag_read属性。
  4. 使用CreateItem操作,或者使用客户端在PHP中的任何等效操作。

<代码>G29

我相当有信心,因为我记得我在官方documentation中写过这篇文章。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36767366

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档