gpt4 book ai didi

PHP-EWS 将电子邮件移动到文件夹

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:46:21 44 4
gpt4 key购买 nike

我正在使用 php-ews 获取附件并将​​它们保存到特定目录,现在我需要将邮件移动到另一个文件夹。我被困在这里:

$client = new Client($host, $username, $password, $version);

$request = new FindItemType();
$request->ParentFolderIds = new NonEmptyArrayOfBaseFolderIdsType();

// Return all message properties.
$request->ItemShape = new ItemResponseShapeType();
$request->ItemShape->BaseShape = DefaultShapeNamesType::ALL_PROPERTIES;
// Search in the user's inbox.
$folder_id = new DistinguishedFolderIdType();
$folder_id->Id = DistinguishedFolderIdNameType::INBOX;
$request->ParentFolderIds->DistinguishedFolderId[] = $folder_id;
$response = $client->FindItem($request);
// Iterate over the results, printing any error messages or message subjects.
$response_messages = $response->ResponseMessages->FindItemResponseMessage;



foreach ($response_messages as $response_message) {
// Make sure the request succeeded.
if ($response_message->ResponseClass != ResponseClassType::SUCCESS) {
$code = $response_message->ResponseCode;
$message = $response_message->MessageText;
continue;
}

$items = $response_message->RootFolder->Items->Message;
foreach ($items as $item) {
$subject = $item->Subject;
$sender = $item->From->Mailbox->EmailAddress;
//move mail item from folder "INBOX" to folder "DONE"
}
}

最佳答案

您需要使用 MoveItem操作。

创建一个类文件。将其保存到 EWSType/MoveItemType.php

<?php
/**
* Definition of the MoveItemType type
*
* @package php-ews
* @subpackage Types
*/

/**
* Definition of the MoveItemType type
*/
class EWSType_MoveItemType extends EWSType
{
/**
* ToFolderId property
*
* @var EWSType_TargetFolderIdType
*/
public $ToFolderId;

/**
* DistinguishedFolderId property
*
* @var EWSType_DistinguishedFolderIdType
*/
public $DistinguishedFolderId;

/**
* ItemIds property
*
* @var EWSType_NonEmptyArrayOfBaseItemIdsType
*/
public $ItemIds;
}

然后在您的应用程序代码中执行如下操作:

// Generic connection sample code
$ews = new ExchangeWebServices($host, $username, $password);

$request = new EWSType_MoveItemType();

$request->ToFolderId->FolderId->Id = 'FOLDER_ITEM_ID_VALUE';
$request->ToFolderId->FolderId->ChangeKey = 'FOLDER_ITEM_CHANGE_KEY_VALUE';

$request->ItemIds->ItemId->Id = 'ITEM_ID_VALUE';
$request->ItemIds->ItemId->ChangeKey = 'ITEM_CHANGE_KEY_VALUE';

// Generic execution sample code
$response = $ews->MoveItem($request);
echo '<pre>'.print_r($response, true).'</pre>';

关于PHP-EWS 将电子邮件移动到文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48326342/

44 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com