All Projects → idlesign → django-sitemessage

idlesign / django-sitemessage

Licence: BSD-3-Clause license
Reusable application for Django introducing a message delivery framework

Programming Languages

python
139335 projects - #7 most used programming language
HTML
75241 projects

Projects that are alternatives of or similar to django-sitemessage

mnm-hammer
mnm implements TMTP protocol. Let Internet sites message members directly, instead of unreliable, insecure email. Contributors welcome! (Client)
Stars: ✭ 66 (+29.41%)
Mutual labels:  messaging, xmpp, smtp
Mnm
The legitimate email replacement — n-identity, decentralized, store-and-forward, open protocol, open source. (Server)
Stars: ✭ 162 (+217.65%)
Mutual labels:  messaging, xmpp, smtp
Ejabberd
Robust, Ubiquitous and Massively Scalable Messaging Platform (XMPP, MQTT, SIP Server)
Stars: ✭ 5,077 (+9854.9%)
Mutual labels:  messaging, xmpp
Chat
Instant messaging platform. Backend in Go. Clients: Swift iOS, Java Android, JS webapp, scriptable command line; chatbots
Stars: ✭ 8,238 (+16052.94%)
Mutual labels:  messaging, xmpp
Qmchatviewcontroller Ios
An elegant ready to go chat view controller for iOS applications
Stars: ✭ 75 (+47.06%)
Mutual labels:  messaging, xmpp
Lurch
XEP-0384: OMEMO Encryption for libpurple.
Stars: ✭ 245 (+380.39%)
Mutual labels:  messaging, xmpp
Chatsecure Ios
ChatSecure is a free and open source encrypted chat client for iOS that supports OTR and OMEMO encryption over XMPP.
Stars: ✭ 3,044 (+5868.63%)
Mutual labels:  messaging, xmpp
Jackal
Instant messaging server for the Extensible Messaging and Presence Protocol (XMPP).
Stars: ✭ 899 (+1662.75%)
Mutual labels:  messaging, xmpp
Twisted
Event-driven networking engine written in Python.
Stars: ✭ 4,442 (+8609.8%)
Mutual labels:  xmpp, smtp
Chat Sdk Android
Chat SDK Android - Open Source Mobile Messenger
Stars: ✭ 1,496 (+2833.33%)
Mutual labels:  messaging, xmpp
Mongooseim
MongooseIM is a mobile messaging platform with focus on performance and scalability
Stars: ✭ 1,387 (+2619.61%)
Mutual labels:  messaging, xmpp
Magma
The magma server daemon, is an encrypted email system with support for SMTP, POP, IMAP, HTTP and MOLTEN,. Additional support for DMTP and DMAP is currently in active development.
Stars: ✭ 1,740 (+3311.76%)
Mutual labels:  messaging, smtp
prosody-filer
Golang mod_http_upload_external server for Prosody and Ejabberd
Stars: ✭ 41 (-19.61%)
Mutual labels:  messaging, xmpp
Quickblox Ios Sdk
QuickBlox iOS SDK for messaging and video calling
Stars: ✭ 373 (+631.37%)
Mutual labels:  messaging, xmpp
Vk4xmpp
Jabber-транспорт для ВКонтакте (A jabber gateway to the VK social network)
Stars: ✭ 114 (+123.53%)
Mutual labels:  xmpp, vkontakte
Chat Sdk Ios
Chat SDK iOS - Open Source Mobile Messenger
Stars: ✭ 813 (+1494.12%)
Mutual labels:  messaging, xmpp
Sockethub
A protocol gateway for the Web.
Stars: ✭ 329 (+545.1%)
Mutual labels:  xmpp, smtp
Quickblox Javascript Sdk
JavaScript SDK of QuickBlox cloud backend platform
Stars: ✭ 98 (+92.16%)
Mutual labels:  messaging, xmpp
Q Municate Ios
Q-municate iOS repository
Stars: ✭ 164 (+221.57%)
Mutual labels:  messaging, xmpp
Tigase Server
Highly optimized, extremely modular and very flexible XMPP/Jabber server
Stars: ✭ 170 (+233.33%)
Mutual labels:  messaging, xmpp

django-sitemessage

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

Description

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):
from sitemessage.toolbox import register_messenger_objects, register_message_types
from sitemessage.messengers.smtp import SMTPMessenger

register_messenger_objects(
    # Here we register one messenger to deliver emails.
    # By default it uses mailing related settings from Django settings file.
    SMTPMessenger()
)
  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, '[email protected]'], sender=request.user)

    ...
  1. 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/

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].