我正在使用一个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->_