ckanext-mailcraft
The ckanext-mailcraft adds powerful email management features to CKAN, making it easier to style, track, and control outgoing messages.
Features
- Flexible Mailer – a custom mailer that can be easily extended to fit your needs
- Pre-styled Templates – an example email template you can customize to match your branding
- Email Logging – configurable option to save outgoing emails and view them in the dashboard
- Email Control – configurable option to temporarily stop outgoing messages when needed
- Redirection – configurable option to reroute all outgoing emails to one or more specified addresses
To enable the extension, add mailcraft to the ckan.plugins setting in your CKAN.
If you want to enable the dashboard you should also add tables mailcraft_dashboard to the ckan.plugins setting.
Usage
To use a mailer, you just have to import it and initialize the mailer.
from ckanext.mailcraft.utils import get_mailer
mailer = get_mailer()
mailer.mail_recipients(
subject="Hello world",
recipients=["test@gmail.com"],
body="Hello world",
body_html=tk.render(
"mailcraft/emails/test.html",
extra_vars={"site_url": mailer.site_url, "site_title": mailer.site_title},
),
)
[!IMPORTANT] If you're using environment variables to configure the SMTP server, you must create the mailer instance within a method or function scope; otherwise, the mailer will take the config options from the CKAN config file.
Dashboard
To access the dashboard, first ensure that the tables mailcraft_dashboard plugins are enabled in your CKAN configuration. Then you'll have a button at the top right of the CKAN interface that will take you to the Mailcraft dashboard.
The tables plugin is required to render the dashboard table.
The dashboard provides an overview of all outgoing emails, including their status (sent, failed, etc.), recipients, and timestamps. You can filter and search through the emails to find specific ones.
The ckanext.mailcraft.save_emails config option must be set to true to save outgoing emails and view them in the dashboard. You can also press the View button to see the full content of each email.
Requirements
Compatibility with core CKAN versions:
| CKAN version | Compatible? |
|---|---|
| 2.9 and earlier | no |
| 2.10+ | yes |
Installation
Use PyPI to install the extension with pip. Or check the Developer installation section.
pip install ckanext-mailcraft
Config settings
Check the config_declaration.yaml file to see all available config settings.
Developer installation
To install ckanext-mailcraft for development, activate your CKAN virtualenv and do:
git clone https://github.com/DataShades/ckanext-mailcraft.git
cd ckanext-mailcraft
python setup.py develop
pip install -r dev-requirements.txt
Build CSS
Run this command from the theme folder.
npx sass styles.scss:./../assets/css/style.css -s compressed --no-source-map
Tests
To run the tests, do:
pytest --ckan-ini=test.ini
License
Metadata
Release files for ckanext-mailcraft 0.9.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| ckanext_mailcraft-0.9.3.tar.gz | 57.9 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ckanext_mailcraft-0.9.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 107.9 kB
Release files / ckanext_mailcraft-0.9.3.tar.gz
| Download URL | ckanext_mailcraft-0.9.3.tar.gz |
|---|---|
| Size | 57.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ab4a34780cae6439a5c926c2329f3ab8ae6e4641c2e54d1c90c3c0971dd19652
|
|
BLAKE2b-256 checksum How to use checksums |
5183e79ebbaa76a91b2fbd7e85808f471df7bc36455f8ca4b49f06199a8feb62
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.9
|
Release files / ckanext_mailcraft-0.9.3-py3-none-any.whl
| Download URL | ckanext_mailcraft-0.9.3-py3-none-any.whl |
|---|---|
| Size | 50.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
00c1d456b75d99934cf2e66faa66912a6bc49656cb5c0cbf31260309b9ac8354
|
|
BLAKE2b-256 checksum How to use checksums |
9f6f3ccb2e7fc885f2d2267a2b61b9b048dd13efb215c456dafaf0ee8be0c93c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.9
|
Security for ckanext-mailcraft 0.9.3
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.