Здравствуйте.
Имеется procmailrc примерно с таким содержимым:
:0
* ^From one-two
{
:0 B
* ^Subject: WOW
/dev/null
}
Он ищет в письме наличие заголовка From с соответствующим содержимым и проверяет, есть ли также в теле письма строка, начинающаяся с Subject.
Если написать на Sieve что-то типа (для начала):
if body :regex "^Subject: WOW" {
discard;
stop;
}
то ничего не находится, почему-то регулярка не срабатывает. Варианты с
if body :regex "Subject: WOW"
или
if body :contains "Subject: WOW"
отрабатывают нормально, но чисто теоретически данное словосочетание может оказаться в середине текста, например, если кто-то его процитирует и тогда письмо улетит в топку, поэтому, надо, чтобы регулярка находила нужный текст именно с начала строки.
Когда сохранил письмо и проверил локально нужной регуляркой («^Subject…») его содержимое, то текст выцепился.
Получается, что проблема в том, что почему-то BODY самим Sieve интерпретируется не построчно.
Кто как решал данную проблему?