1

我正在使用一个PHP EWS库,并以这个例子来获取一个消息列表,它工作得很好。

它会提取发件人、收件人、主题、时间等详细信息。我尝试查看所有库,但无法锻炼如何提取邮件正文和附件。

有任何想法吗?

4

1 回答 1

5

它在 PHP EWS wiki 中有很好的描述,就在这里:https ://github.com/jamesiarmes/php-ews/wiki/Email-:-Retrieve-All-Email-Attachments

编辑:使用上面链接的整个示例来获取电子邮件附件,并仅使用其中的一部分来获取消息:

$message_id = ''; // Id of the email message

$ews = new ExchangeWebServices($host,  $user, $password);

$request = new EWSType_GetItemType();

$request->ItemShape = new EWSType_ItemResponseShapeType();
$request->ItemShape->BaseShape = EWSType_DefaultShapeNamesType::ALL_PROPERTIES;

$request->ItemIds = new EWSType_NonEmptyArrayOfBaseItemIdsType();
$request->ItemIds->ItemId = new EWSType_ItemIdType();
$request->ItemIds->ItemId->Id = $message_id; 

$response = $ews->GetItem($request);

if( $response->ResponseMessages->GetItemResponseMessage->ResponseCode == 'NoError' &&
    $response->ResponseMessages->GetItemResponseMessage->ResponseClass == 'Success' ) {

    $message = $response->ResponseMessages->GetItemResponseMessage->Items->Message;
}

此时,您拥有$message. 访问正文使用$message->body- 它是一个带有 bodyType 等的对象 - 实际读取消息正文内容使用$message->body->_

于 2012-06-04T13:35:46.040 回答