Skip to content

Mail Rules

Mail rules define how Paperless-ngx processes incoming emails from a mail account. Each rule specifies filters (sender, subject, body) and actions to apply when a matching email is found.

Model

See pypaperless/models/mails/rules.py for all fields and types, and the Paperless-ngx API docs for the upstream schema.

Fetch one

rule = await paperless.mail_rules(3)
print(rule.name)         # "Invoice imports"
print(rule.account)      # 1  (mail account id)
print(rule.enabled)      # True
print(rule.filter_from)  # "billing@vendor.com"

Iterate

async for rule in paperless.mail_rules:
    print(rule.id, rule.name, "enabled:", rule.enabled)

# Only active rules
active = [r async for r in paperless.mail_rules if r.enabled]

Permissions

async with paperless.mail_rules.with_permissions():
    rule = await paperless.mail_rules(3)
    print(rule.owner)        # owner user id
    print(rule.permissions)  # Permissions

See Permissions for details.