Перейти к документации
База знаний

Правила, которые пишете вы сами

Ваши собственные условия и то, что должно произойти со всем, что им соответствует.

Подробности

  • Пишутся в «Настройки → Правила» и через REST API на /rules, который включён для каждого рабочего пространства. Правило — это список условий для приходящего письма и список действий над всем, что им соответствует: 100 правил на почтовый ящик, в каждом не более 20 условий и 10 действий. Это защита от скрипта в цикле, а не тарифные ограничения. 101-е правило отклоняется с сообщением об этом, а не тарифицируется.
  • Двадцать одна вещь, о которой может спросить условие: адрес From и его домен (где совпадение с example.com покрывает и mail.corp.example.com), отправитель в конверте SMTP, To, Cc, Bcc, любой получатель, Reply-To, адрес, на который копия действительно была доставлена, с отрезанным плюс-тегом, тема, тело, любой именованный заголовок, List-Id, имя вложения, его тип или размер, наличие вложения вообще, размер всего письма, вердикт по спаму, а также час и день недели прихода в UTC. Сопоставление — это glob (* и ?), либо contains, equals, starts with, ends with, а для четырёх числовых — больше и меньше. Шаблон обязан содержать два собственных буквенно-цифровых символа, поэтому голая * отклоняется прямо при вводе, а не совпадает со всеми письмами, которые когда-либо придут.
  • Все условия или любое из них, с NOT на каждом по отдельности. Вложенных скобок нет: (A and B) or C — это два правила, что и так является тем, как вы прочитаете это через полгода.
  • Одиннадцать действий: поставить метку, снять метку, заархивировать, пометить прочитанным, отметить звездой, положить в спам, отправить в корзину, переслать, автоответ по шаблону, заблокировать отправителя и отклонить письмо целиком. Правила выполняются в том порядке, в котором вы их расставили, начиная с нижнего номера, и любое из них можно выключить, не удаляя. Правило, помеченное как останавливающее обработку, завершает проход, поэтому всё, что ниже, не рассматривается, а если два правила называют папку, побеждает более позднее, потому что именно это и означает нумерованный список.
  • Отказ на входе работает только по конверту, а в остальных случаях правило отклоняется при сохранении. На 550 отвечает тот, кто передал нам письмо, а в списке рассылки это СПИСОК, который читает это как отваливающегося подписчика и отписывает вас от того, где вы хотели лишь, чтобы перестал писать один человек. Правило, совпадающее с отправителем только по заголовку From, вместо этого кладёт письмо в спам — ровно как и блокировка.
  • Автоответ не отвечает машине. Он подавляется на Auto-Submitted, Precedence: bulk, list или junk, на заголовках List-Id или List-Unsubscribe, X-Autoreply, X-Autorespond, а также на пустом отправителе конверта, который несёт каждый отчёт о невозможности доставки. Сверх этого один отправитель получает не более одного ответа в сутки. Два ящика с правилами автоответа и без защиты пишут друг другу, пока кто-нибудь не заметит.
  • Пересылка — это пересобранная копия, а не то письмо, которое пришло: она уходит через путь отправки, поэтому подпись DKIM отправителя её не переживает, как и необычные заголовки и экзотические части. Оригинал едет следом вложением .eml, чтобы заголовки и точные части всё ещё можно было прочитать, — если только он не превышает потолок вложения в 5MB, и тогда пересылка всё равно уходит с читаемым телом, а оригинал остаётся в вашем собственном ящике. О том, что так вышло, вам ничего не сообщат, и это как раз то, что стоит знать. Назначение проверяется, когда вы пишете правило, но только по форме: ops или ops@example без точки отклоняется прямо при вводе, а не падает по разу на каждое совпавшее письмо потом. Опечатка, которая всё ещё является корректным адресом ([email protected] вместо [email protected]), принимается, и назначение правила никогда не просят подтвердить себя так, как это делает пересылка адреса, поэтому копия уходит ровно туда, что вы набрали.
  • Правило можно испытать до того, как включить: направьте его на последние тридцать дней (до года, до 200 писем), и оно сообщит, какие из ваших собственных писем оно поймало бы и что бы с ними сделало, не тронув ни одного. Отвечает на это тот же матчер, который работает на пути доставки, но сохранённое письмо — это не то письмо, которое передал SMTP. Отправитель конверта, карта заголовков, List-Id, адрес доставки и размер на проводе к тому моменту уже потеряны, поэтому одиннадцать из двадцати одного поля отвечают в сухом прогоне иначе или не могут ответить вовсе, и диалог их называет, а не тихо засчитывает как промахи. Самый острый случай — правило, отклоняющее на входе: оно обязано нести условие по отправителю конверта, а в хранилище ответить на него нечем, поэтому предпросмотр сообщит, что оно ни с чем не совпало, сколько бы оно ни отклоняло на практике.
  • Ничто не применяется задним числом, и кнопки, которая бы это делала, намеренно нет. Применение правила ко всему уже имеющемуся ящику не ограничено ничем, не имеет отмены и вытащило бы каждое затронутое письмо обратно наверх входящих. Правила решают, что произойдёт с почтой, которая придёт дальше.
  • То, что сделало каждое правило, записывается по каждому письму (применённые действия и, отдельно, те, в которых было отказано, и почему), поэтому и «почему это оказалось здесь», и «почему мой автоответ на это не ответил» имеют ответ. Журнал хранит имя правила, поэтому он читается правильно и после переименования или удаления правила.
  • Это действует на каждый адрес на ваших собственных доменах, поэтому правило достаёт до всего, что приходит, а не предлагается там, где оно молча ничего бы не сделало.
  • Если движок не может ответить (условие из более нового клиента, база, которая не отвечает), письмо доставляется так, как доставилось бы и без него, а сбой записывается в журнал. Правило, которое падает, — это письмо, которое не пришло.