Skip to content

Processed Mail

The processed_mail resource is a read-only log of emails that have already been processed by a mail rule. Each entry records the outcome of the import attempt.

Model

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

Fetch one

entry = await paperless.processed_mail(5)
print(entry.subject)   # "RE: Invoice #1234"
print(entry.status)    # "success"
print(entry.processed) # datetime(2024, 3, 15, 10, 30, ...)

Iterate

async for entry in paperless.processed_mail:
    if entry.status == "failed":
        print(f"Failed: {entry.subject} - {entry.error}")

# Collect all failures
failures = [
    e async for e in paperless.processed_mail
    if e.status == "failed"
]

Permissions

async with paperless.processed_mail.with_permissions():
    entry = await paperless.processed_mail(5)
    print(entry.owner)

See Permissions for details.