Назад | Перейти на главную страницу

Экранирование двойных кавычек в строке поиска IMAP

У меня есть тестовое электронное письмо со следующей темой:

this's is a "TEST" of "quote's"

Я пытаюсь найти правильную строку для вызова IMAP SEARCH, чтобы он нашел это письмо. У меня проблемы, потому что синтаксис многословной фразы:

SEARCH SUBJECT "multi-word phrase"

Однако двойные кавычки в строке темы нарушают это.

Как мне избежать двойных кавычек в образце темы, чтобы ответ не был пустым?

На моем сервере работает Dovecot на CentOS 7, а мой клиент использует вызовы imap PHP.

Вы можете использовать строковый формат Literal (в отличие от формата Quoted)

01 SEARCH SUBJECT {21}
<Wait for server to acknowledge>
this's is a "TEST" of "quote's"

https://tools.ietf.org/html/rfc3501#section-4.3

Литерал - это последовательность из нуля или более октетов (включая CR и
LF), заключенный в префиксные кавычки с количеством октетов в виде открытой фигурной скобки ("{"), количеством октетов, закрывающей фигурной скобкой ("}") и CRLF. В случае передачи литералов от сервера к клиенту за CRLF сразу же следуют данные октета. В случае, если литералы передаются от клиента к серверу, клиент ДОЛЖЕН дождаться получения запроса продолжения команды (описанного далее в этом документе) перед отправкой данных октета (и оставшейся части команды).