This is a pre-production deployment of Warehouse, however changes made here WILL affect the production instance of PyPI.
Latest Version Dependencies status unknown Test status unknown Test coverage unknown
Project Description

This is a minified fork of Harry Marr’s django-ses

Management UI and DKIM signing was removed, because:
Another reasons for the fork:
  • I need to have it running under Python 3,
  • I don’t need all the “additional” feature of django-ses.

Getting going

To get it running, you need to have Django (1.5>=) and Boto (>=2.32.0) installed in your system.

Installing boto:

pip install --upgrade boto

Install django-ses-backend:

pip install django-ses-backend

Add the following to your settings.py:

EMAIL_BACKEND = 'django_ses_backend.SESBackend'

# These are optional -- if they're set as environment variables they won't
# need to be set here as well
AWS_ACCESS_KEY_ID = 'YOUR-ACCESS-KEY-ID'
AWS_SECRET_ACCESS_KEY = 'YOUR-SECRET-ACCESS-KEY'

# Additionally, you can specify an optional region, like so:
AWS_SES_REGION_NAME = 'us-east-1'
AWS_SES_REGION_ENDPOINT = 'email.us-east-1.amazonaws.com'

Alternatively, instead of AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY, you can include the following two settings values. This is useful in situations where you would like to use a separate access key to send emails via SES than you would to upload files via S3:

AWS_SES_ACCESS_KEY_ID = 'YOUR-ACCESS-KEY-ID'
AWS_SES_SECRET_ACCESS_KEY = 'YOUR-SECRET-ACCESS-KEY'

Now, when you use django.core.mail.send_mail, Simple Email Service will send the messages by default.

Since SES imposes a rate limit and will reject emails after the limit has been reached, django-ses will attempt to conform to the rate limit by querying the API for your current limit and then sending no more than that number of messages in a two-second period (which is half of the rate limit, just to be sure to stay clear of the limit). This is controlled by the following setting:

AWS_SES_AUTO_THROTTLE = 0.5 # (default; safety factor applied to rate limit)

To turn off automatic throttling, set this to None.

Django Builtin-in Error Emails

If you’d like Django’s Builtin Email Error Reporting to function properly (actually send working emails), you’ll have to explicitly set the SERVER_EMAIL setting to one of your SES-verified addresses. Otherwise, your error emails will all fail and you’ll be blissfully unaware of a problem.

Note: You will need to sign up for SES and verify any emails you’re going to use in the from_email argument to django.core.mail.send_email(). Boto has a verify_email_address() method: https://github.com/boto/boto/blob/master/boto/ses/connection.py

Full List of Settings

AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY
Required. Your API keys for Amazon SES.
AWS_SES_ACCESS_KEY_ID, AWS_SES_SECRET_ACCESS_KEY
Required. Alternative API keys for Amazon SES. This is useful in situations where you would like to use separate access keys for different AWS services.
AWS_SES_REGION_NAME, AWS_SES_REGION_ENDPOINT
Optionally specify what region your SES service is using. Details: http://readthedocs.org/docs/boto/en/latest/ref/ses.html#boto.ses.regions
AWS_SES_RETURN_PATH
Instruct Amazon SES to forward bounced emails and complaints to this email. For more information please refer to http://aws.amazon.com/ses/faqs/#38

Contributing

If you’d like to fix a bug, add a feature, etc

  1. Start by opening an issue.

    Be explicit so that project collaborators can understand and reproduce the issue, or decide whether the feature falls within the project’s goals. Code examples can be useful, too.

  2. File a pull request.

    You may write a prototype or suggested fix.

  3. Write and run tests.

    Write your own test showing the issue has been resolved, or the feature works as intended.

Running Tests

To run the tests:

python runtests.py
Release History

Release History

0.1.1

This version

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.1.0

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

Download Files

Download Files

TODO: Brief introduction on what you do with files - including link to relevant help section.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
django_ses_backend-0.1.1-py2.py3-none-any.whl (10.8 kB) Copy SHA256 Checksum SHA256 3.4 Wheel Aug 1, 2014
django-ses-backend-0.1.1.tar.gz (7.0 kB) Copy SHA256 Checksum SHA256 Source Aug 1, 2014

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS HPE HPE Development Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting