postmarker
Python client library for Postmark API
What it is and what it does
Postmarker wraps the Postmark email service API in a Python client, letting you send emails, manage templates, track bounces, and handle inbound/delivery webhooks without writing raw HTTP requests. It supports both single and batch email sends, file attachments, custom headers, and integrates with Django as an email backend and Tornado as a helper.
The library depends only on requests and has low install friction. It's stable and production-ready (Development Status 5), though maintenance is infrequent—the last release was in January 2022. It works with CPython 3.6–3.10 and PyPy 3.7–3.8 as documented, but has not been updated for newer Python versions.
Use it for:
- Send transactional emails from a Python application using Postmark's infrastructure and delivery guarantees.
- Batch-send newsletters or notifications to multiple recipients in a single API call.
- Integrate email sending into a Django project using Postmarker as the email backend.
- Track email bounces and delivery events by setting up webhook handlers for Postmark events.
- Send emails with attachments and custom headers for complex email workflows.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Postmarker is a Python client library for the Postmark email API, enabling you to send single and batch emails, manage templates, handle bounces, and integrate webhooks.
Yes, if you use Postmark for email delivery and need a Python client. The library is stable (MIT license, no known vulnerabilities), has low install friction, and covers the core Postmark API. However, be aware that maintenance is infrequent—the last release was January 2022—so if Postmark has added new API features since then, this library may not expose them. Verify that it supports the Postmark features you need before committing.
Install
postmarker on PyPI
pip
pip install postmarkeruv
uv add postmarkerpoetry
poetry add postmarkerInstalling postmarker
Before you install
Low install friction with a single runtime dependency (requests). The package is in aging maintenance status—last release was in January 2022 and the last commit was September 2025, so it receives infrequent updates but the repository remains active and not archived.
License in practice
MIT license (permissive) means you can use, modify, and distribute this package freely in commercial and private projects with minimal restrictions.
Quickstart
pip install postmarker
from postmarker.core import PostmarkClient
postmark = PostmarkClient(server_token='API_TOKEN')
postmark.emails.send(
From='sender@example.com',
To='receiver@example.com',
Subject='Test',
HtmlBody='Hello'
)
You need a valid Postmark API token (server_token) to authenticate with the Postmark service.
Verify before relying
- Whether the package works reliably with Python versions newer than 3.10, given the last release was January 2022.
- Current status of Postmark API compatibility—whether the library covers all current Postmark endpoints.
Package facts
| License | MIT (permissive) |
| Python support | not specified |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 1 — requests |
| Maintenance | aging — 1,672 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 999,828/month — #4,539 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: postmarker-1.0-py3-none-any.whl
Keywords: postmark, api, client, email
Tags
More Email packages
aiosmtplib is an asynchronous SMTP client that…
permissive · top 5,000 on PyPI
Wikipedia-APIWikipedia-API is a Python wrapper for…
permissive · top 5,000 on PyPI
python-oxmsgParses Outlook MSG files to extract email…
permissive · top 5,000 on PyPI
django-anymailSends and receives email in Django through…
permissive · top 5,000 on PyPI
IMAPClientIMAPClient provides a Pythonic interface to…
permissive · top 5,000 on PyPI
mailjet-restA Python wrapper for the Mailjet Email API that…
permissive · top 5,000 on PyPI
mailtrapOfficial Python client for Mailtrap's email…
permissive · top 15,000 on PyPI
django-post_officeDjango Post Office queues and sends emails…
permissive · top 15,000 on PyPI
neverbounce-sdkPython client library for the NeverBounce email…
permissive · top 15,000 on PyPI
flufl.bounceDetects and extracts original bouncing email…
permissive · top 15,000 on PyPI
zerobouncesdkPython SDK for the ZeroBounce email validation…
permissive · top 15,000 on PyPI
mailgunOfficial Python SDK for the Mailgun email…
permissive · top 15,000 on PyPI
django-sesA Django email backend that routes outgoing…
permissive · top 5,000 on PyPI
mailslurp-clientMailSlurp provides a Python client for an email…
unclear · top 15,000 on PyPI
mailcheckerValidates email addresses against format rules…
permissive · top 15,000 on PyPI