Skip to main content

Django app for managing multiple mass-mailing lists with both plaintext as well as HTML templates (and TinyMCE editor for HTML messages), images and a smart queueing system all right from the admin interface.

Project description

What is it?

Django app for managing multiple mass-mailing lists with both plaintext as well as HTML templates (and TinyMCE editor for HTML messages), images and a smart queueing system all right from the admin interface.

Status

We are currently using this package in several production environments, but it should still be considered a work in progress.

Requirements

Please refer to requirements.txt for an updated list of required packes.

Installation

  1. Get it from the Cheese Shop:

    pip install django-newsletter

    Or get the latest & greatest from Github and link it to your application tree:

    pip install -e git://github.com/dokterbob/django-newsletter.git#egg=django-newsletter

    (In either case it is recommended that you use VirtualEnv in order to keep your Python environment somewhat clean.)

  2. Add newsletter and to INSTALLED_APPS in settings.py and make sure that django-tinymce is there as well:

    INSTALLED_APPS = (
        ...
        'tinymce',
        ...
        'newsletter',
        ...
    )
  3. Make the media dir available as {{ MEDIA_URL }}newsletter/ and do the same for the django-tinymce app.

    Preferably use something like django-staticmedia to manage the media files for your installed apps so you won’t have to worry about this. You can simply pip install django-staticmedia and add the following to urls.py to make everything accessible in the development server:

    import staticmedia
    urlpatterns += staticmedia.serve()
  4. Configure TinyMCE if you have not already done so. At the very least make sure you set TINYMCE_JS_URL in settings.py to point to wherever tiny_mce.js is located. (Typically /media/tinymce/tiny_mce/tiny_mce.js)

  5. Create required data structure and load default template fixture:

    ./manage.py syncdb
    ./manage.py loaddata default_templates
  6. Run the tests to see if it all works:

    ./manage.py test

    If this fails, please contact me! If it doesn’t: that’s a good sign, chap. You’ll probably have yourself a working configuration!

Usage

  1. Start the development server: ./manage.py runserver

  2. Navigate to /admin/ and: behold!

  3. Put a submission in the queue.

  4. Submit your message with ./manage.py runjob submit

  5. For a proper understanding, please take a look at the model graph.

http://github.com/dokterbob/django-newsletter/raw/master/graph_models.png

Unit tests

Fairly extensive tests are available for internal frameworks, web (un)subscription and mail sending. One feature currently untested is actually sending mail to very large numbers of recipients (1000+), but feel free to try around.

TODO

  • Add a separate submission queue view in the admin instead of the modded edit view, which is confusing to the user.

  • Finish front end for article ordering from admin.

  • Write tests for: template syntax checking, ordering of articles in a message.

  • Extend subscription models to allow for mail deliverability feedback.

License

This application is released under the GNU Affero General Public License version 3.

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-newsletter-0.2.3.tar.gz (187.4 kB view details)

Uploaded Source

File details

Details for the file django-newsletter-0.2.3.tar.gz.

File metadata

File hashes

Hashes for django-newsletter-0.2.3.tar.gz
Algorithm Hash digest
SHA256 a41404960e8cd08d1fbfeceb9f4bdd189b49159d5d72605ff3e31bfb38476424
MD5 00b6ba6ba85a9c8cda0d9ff65e2a0d2e
BLAKE2b-256 9f5ad60ff9010f4dc53629dd4acaaa41598c3070e7dc21280fd13c00dac9a93f

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