Skip to main content

Reusable application for Django introducing a message delivery framework

Project description

https://github.com/idlesign/django-sitemessage

https://img.shields.io/pypi/v/django-sitemessage.svg https://img.shields.io/pypi/dm/django-sitemessage.svg https://img.shields.io/pypi/l/django-sitemessage.svg https://img.shields.io/coveralls/idlesign/django-sitemessage/master.svg https://travis-ci.org/idlesign/django-sitemessage.svg?branch=master https://landscape.io/github/idlesign/django-sitemessage/master/landscape.svg?style=flat

Description

Reusable application for Django introducing a message delivery framework.

Schedule and send messages with several easy steps, using concepts of:

  • Messengers - clients for various protocols (smtp, jabber, twitter, telegram, facebook, vkontakte, etc.);

  • Message Types - message classes exposing message composition logic (plain text, html, etc.).

  1. Configure messengers for your project (create sitemessages.py in one of your apps):

from sitemessage.toolbox import register_messenger_objects, register_builtin_message_types
from sitemessage.messengers.smtp import SMTPMessenger

register_messenger_objects(
    # Here we register only one messenger to deliver emails.
    SMTPMessenger('user1@host.com', 'user1', 'user1password', host='smtp.host.com', use_tls=True)
)

# And register built-in message types we'd use (for Django < 1.7).
register_builtin_message_types()
  1. Schedule messages for delivery when and where needed (e.g. in a view):

from sitemessage.shortcuts import schedule_email

def send_mail_view(request):
    ...

    # Suppose `user_model` is a recipient Django User model instance.
    user1_model = ...

    # We pass `request.user` into `sender` to keep track of senders.
    schedule_email('Message from sitemessage.', [user1_model, 'user2@host.com'], sender=request.user)

    ...
  1. Periodically run Django management command from wherever you like (cli, cron, Celery, etc.):

    ./manage.py sitemessage_send_scheduled

And that’s only the tip of sitemessage iceberg, read the docs %)

Documentation

http://django-sitemessage.readthedocs.org/

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django-sitemessage-0.8.4.tar.gz (54.5 kB view details)

Uploaded Source

Built Distribution

django_sitemessage-0.8.4-py2.py3-none-any.whl (59.9 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file django-sitemessage-0.8.4.tar.gz.

File metadata

File hashes

Hashes for django-sitemessage-0.8.4.tar.gz
Algorithm Hash digest
SHA256 62440b7a1e5ed3e7ed21b6eea1aa76a34283d4b8b4b311ca2fd14576e52b1279
MD5 163dc7f9f8fc6aed74ce165fb143e01a
BLAKE2b-256 ec791f1e17f37a6bb97a76a08d677cf6bd6409581a05e3c3c56c042b37607ecf

See more details on using hashes here.

File details

Details for the file django_sitemessage-0.8.4-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for django_sitemessage-0.8.4-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 2b754a01637aacc406b7357a47ca354a073eb2b32337564587550939fc81ea37
MD5 76f2f90406f18849d6b60cadc8df3942
BLAKE2b-256 dc301e69b4c380240244da69a3a24dfe49fae757ec57ef2a006989d6a6733ce8

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page