После флагов можно указать двоеточие и имя файла блокировки. Файл блокировки — это специальный файл, который сообщает о том, что в данный момент происходит работа с другим файлом. При наличии файла Procmail откладывает обработку сообщения до тех пор, пока этот файл не будет удален. Файл блокировки удобно использовать в тех случаях, когда в очереди содержится много сообщений; ,без него может возникнуть ситуация, когда сообщения, принятые одно за другим, будут записаны в неверном порядке. По умолчанию имя файла блокировки строится на основе имени файла, в который помещается почта (этот файл указывается в строке действия). Если в строке действия задается обработка сообщения другой программой, вы можете указать имя файла блокировки после двоеточия.
Условия в составе рецепта состоят из любого (возможно, нулевого) числа строк, обычно начинающихся с символа *
• ^
*
.• $
• .
dog
, dig
, dug
и любая другая трехсимвольная последовательность, которая начинается с d
и заканчивается g
.• а*
802
, за которыми следует произвольное количество неизвестных символов, а затем 1618
, то сделать это поможет выражение 802.*1618
.• a+
a*
, но количество символов в последовательности не может быть нулевым.• a?
•
|
. При необходимости вы можете задать выбор более чем из двух альтернативных вариантов, использовав несколько символов |
.• (
a*
, но оно означает многократное повторение не одного символа, а целой последовательности.• [
[aeiou]
соответствуют символы а
, е
, i
, о
или u
. Если два символа разделены дефисом (-
), они задают диапазон символов. Например, выражению [m-q]
соответствуют символы m
, n
, о
, p
или q
.• \
\.
соответствует обычной точке.Дополнительную информацию о регулярных выражениях вы найдете на страницах справочной системы, посвященных Procmail. Объединяя обычный текст и специальные символы, вы можете создавать достаточно сложные выражения. Как было сказано ранее, условия в составе рецепта могут занимать одну или несколько строк. В большинстве случаев используются условия, состоящие из одной строки. Если условия занимают несколько строк, письмо соответствует рецепту в том случае, если оно соответствует каждому из условий. Если условия отсутствуют, рецепту соответствует любое сообщение.
В составе условий могут быть использованы дополнительные символы, указывающие на то, что рецепт должен быть интерпретирован специальным образом. Некоторые из них описаны ниже.
• !
!
, то, для того, чтобы письмо соответствовало рецепту, оно не должно соответствовать данному условию. Например, вы можете создать рецепт, которому соответствуют все сообщения, кроме адресованных пользователю postmaster
.• <
• >