{"categories":[{"label":"WWW/HTTP","url":"https://skillfed.io/packages/category/internet-www-http/8"},{"label":"WSGI","url":"https://skillfed.io/packages/category/internet-www-http-wsgi"},{"label":"Middleware","url":"https://skillfed.io/packages/category/internet-www-http-wsgi-middleware"}],"enrichment":{"capability":"Couples email sending with Zope transactions, ensuring messages are only sent when a transaction commits successfully.","skillfed_tags":["transactional-email","zope-integration"],"use_cases":["Send confirmation emails only after a user registration transaction commits successfully","Queue password-reset notifications that are discarded if the reset transaction rolls back","Defer order-confirmation emails until inventory and payment transactions complete","Batch email dispatch tied to database transaction boundaries in WSGI applications","Prevent duplicate or orphaned notifications in systems with nested or retried transactions"],"what_it_does":"repoze.sendmail integrates email sending with the Zope transaction manager, deferring message dispatch until a transaction commits. This prevents users from receiving notifications about incomplete operations\u2014if a transaction rolls back, the associated email is never sent. The package acts as middleware in WSGI applications, intercepting email operations and binding them to transaction lifecycle events.\n\nIt's designed for web applications where email notifications must be atomic with database changes. Rather than sending mail immediately and risking orphaned messages if later steps fail, repoze.sendmail queues messages and releases them only when the transaction succeeds. This is particularly useful in long-running request handlers or batch operations where partial failure is possible.","worth_installing":"Yes, if you use Zope transactions and need email atomicity. The package is mature, actively maintained, has no known vulnerabilities, and installs with zero dependencies. It solves a real problem in transactional web applications. Not relevant for projects outside the Zope ecosystem or those not requiring transaction-coupled email."},"id":"repoze-sendmail","links":{"html":"https://skillfed.io/packages/repoze-sendmail","md":"https://skillfed.io/packages/repoze-sendmail.md","pypi":"https://pypi.org/project/repoze-sendmail/"},"maintenance":{"status":"active"},"meta":{"latest_release":"2026-05-04","license_spdx":"LicenseRef-Repoze-BSD-derived","license_treatment":"permissive","name":"repoze-sendmail","python_support":"supports_current","summary":"Couple sending email message with a transaction"},"popularity":{"monthly_downloads":78505,"position":14439,"tier":"top_15000"},"security":{"n_vulnerabilities":0},"version":"4.5"}
