根據邁克爾在上面給出的答案,我不能告訴你如何在jamesaires/php-ews
中做到這一點,但我可以告訴你如何在我的ews庫garethp/php-ews
中做到這一點。我強烈建議你看看我的圖書館,因爲它保持和PSR-4兼容。以下是你如何使用邁克爾的方法做到這一點
<?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代碼。我實際上一直想與您聯繫,更新交換Web服務網站上的php-ews文檔,因爲它目前鏈接到的庫沒有維護,也沒有遵循現代實踐。有什麼方法可以與您取得聯繫並進行聊天嗎? –
@GarethParker,當然,你可以在邁克爾·邁納 –