Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/idlesign/django-sitemessage
Reusable application for Django introducing a message delivery framework
https://github.com/idlesign/django-sitemessage
django messaging python smtp telegram twitter vkontakte xmpp
Last synced: about 2 months ago
JSON representation
Reusable application for Django introducing a message delivery framework
- Host: GitHub
- URL: https://github.com/idlesign/django-sitemessage
- Owner: idlesign
- License: bsd-3-clause
- Created: 2014-06-17T13:28:18.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2023-03-18T13:00:17.000Z (almost 2 years ago)
- Last Synced: 2024-10-31T12:39:41.311Z (about 2 months ago)
- Topics: django, messaging, python, smtp, telegram, twitter, vkontakte, xmpp
- Language: Python
- Homepage: https://github.com/idlesign/django-sitemessage
- Size: 523 KB
- Stars: 54
- Watchers: 11
- Forks: 6
- Open Issues: 0
-
Metadata Files:
- Readme: README.rst
- Changelog: CHANGELOG
- License: LICENSE
Awesome Lists containing this project
README
django-sitemessage
==================
https://github.com/idlesign/django-sitemessage.. image:: https://img.shields.io/pypi/v/django-sitemessage.svg
:target: https://pypi.python.org/pypi/django-sitemessage.. image:: https://img.shields.io/pypi/l/django-sitemessage.svg
:target: https://pypi.python.org/pypi/django-sitemessage.. image:: https://img.shields.io/coveralls/idlesign/django-sitemessage/master.svg
:target: https://coveralls.io/r/idlesign/django-sitemessageDescription
-----------*Reusable application for Django introducing a message delivery framework.*
Features:
* **Message Types** - message classes exposing message composition logic (plain text, html, etc.).
* **Messengers** - clients for various protocols (smtp, jabber, twitter, telegram, facebook, vkontakte, etc.);
* Support for user defined message types.
* Support for user defined messenger types.
* Message prioritization.
* Message subscription/unsubscription system.
* Message grouping to prevent flooding.
* Message 'read' indication.
* Means for background message delivery and cleanup.
* Means to debug integration: test requisites, delivery log.
* Django Admin integration.1. Configure messengers for your project (create ``sitemessages.py`` in one of your apps):
.. code-block:: python
from sitemessage.toolbox import register_messenger_objects, register_message_types
from sitemessage.messengers.smtp import SMTPMessengerregister_messenger_objects(
# Here we register one messenger to deliver emails.
# By default it uses mailing related settings from Django settings file.
SMTPMessenger()
)2. Schedule messages for delivery when and where needed (e.g. in a view):
.. code-block:: python
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, '[email protected]'], sender=request.user)...
3. Periodically run Django management command from wherever you like (cli, cron, Celery, uWSGI, etc.):
./manage.py sitemessage_send_scheduled
And that's only the tip of ``sitemessage`` iceberg, read the docs %)
Documentation
-------------http://django-sitemessage.readthedocs.org/