【发布时间】:2012-06-01 07:34:05
【问题描述】:
我正在使用PHP EWS 库,并使用this example 获取消息列表,效果很好。
它会提取发件人、收件人、主题、时间等详细信息。我尝试查看所有库,但无法练习如何提取邮件正文和附件。
有什么想法吗?
【问题讨论】:
标签: php exchange-server exchangewebservices
我正在使用PHP EWS 库,并使用this example 获取消息列表,效果很好。
它会提取发件人、收件人、主题、时间等详细信息。我尝试查看所有库,但无法练习如何提取邮件正文和附件。
有什么想法吗?
【问题讨论】:
标签: php exchange-server exchangewebservices
在 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->_
【讨论】: