PHP Exchange Web Services - 获取消息正文


PHP Exchange Web Services - get message body

我正在使用PHP EWS库,并举了这个例子来获取消息列表,它非常有效。

它拉出详细信息,例如发送者,接收者,主题,时间等。我尝试浏览所有库,但我无法弄清楚如何拉取邮件正文和附件。

有什么想法吗?

它在 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->_