2016-10-06 4 views
2

Я пытаюсь получить список писем, на которые не были отправлены ответы или отправлены (Subject with RE: для исключения).PHP EWS исключает электронные письма с конкретным префиксом темы

Ниже приведен код для получения списка писем с определенным префиксом темы. Что мне нужно сделать, чтобы исключить конкретный префикс?

$currentRestriction->Contains = new EWSType_ContainsExpressionType(); 
$currentRestriction->Contains->FieldURI = new EWSType_PathToUnindexedFieldType() 
$currentRestriction->Contains->FieldURI->FieldURI = 'item:Subject'; 
$currentRestriction->Contains->Constant = new EWSType_ConstantValueType(); 
$currentRestriction->Contains->Constant->Value = 'test'; 
$currentRestriction->Contains->ContainmentComparison = new EWSType_ContainmentComparisonType(); 
$currentRestriction->Contains->ContainmentMode = new EWSType_ContainmentModeType(); 
&currentRestriction->Contains->ContainmentMode->_ = EWSType_ContainmentModeType::PREFIXED; 
+0

Я только имел быстрый взгляд [на код] (https://github.com/jamesiarmes/php-ews) вы используете - это не выглядит, как он поддерживает «не с префиксом "или аналогичными типами поиска (я мог легко ошибаться). Один из вариантов - получить все электронные письма и отфильтровать те, у которых есть тема, начинающаяся с «Re:» с помощью PHP –

+0

Спасибо Робби. Да, вы правы, EWS не имеет типа фильтра «не префикс». Я видел, что есть тип фильтра поиска «Не» и попытка сделать условие вроде «Не содержать». Но я изо всех сил пытаюсь получить синтаксис правильно, поскольку я новичок в PHP и EWS. – user6929575

ответ

1

У меня есть это. Добавление ниже двух строк перед приведенными выше кодами приведет к отрицанию утверждения.

$currentRestriction->Not= new EWSType_NotType(); 
$currentRestriction = $currentRestriction->Not; 
Смежные вопросы