Skip to main content

A Django app to send emails

Project description

Django Email Service is a Django app that allows you to send emails using mailjet (for now) in a convenient way.

Quick start

  1. Add “django_email” to your INSTALLED_APPS setting like this:

    INSTALLED_APPS = [
        ...
        'django_email',
    ]
  2. Set the following variables in your settings file:

    MAILJET_API_KEY = 'mailjet-api-key'
    MAILJET_SECRET_KEY = 'mailjet-secret-key'
    DEFAULT_FROM_EMAIL = 'default-from-email'
    DEFAULT_FROM_NAME = 'default-from-name'
  3. Include the django_email URLconf in your project urls.py like this:

    path('email/', include('django_email.urls')),
  4. Run python manage.py migrate to create the django_email models.

  5. Start the development server and visit http://127.0.0.1:8000/admin/ to view email log (you’ll need the Admin app enabled).

  6. Visit http://127.0.0.1:8000/django_email/ to see the email logs along with its events.

Usage

from django_email.services import EmailService
from django_email.constants import EMAIL_PROVIDER_MAILJET

EmailService.send_email(
    to_emails=['foo@example.com', 'bar@example.com'],
    subject='A test Email',
    cc_emails=['baz@example.com'],
    bcc_emails=['tom@example.com'],
    body="<html><h1>This is a test email</h1></html>",
    template_id=None,
    template_dynamic_data=None,
    from_email=settings.DEFAULT_FROM_EMAIL,
    from_name=settings.DEFAULT_FROM_NAME,
    email_provider=EMAIL_PROVIDER_MAILJET,
    reply_to='admin@example.com'
)

Notes

  1. By default the celery messages go into the default celery queue which is named as celery. You can change this be routing messages from default queue to some other queue. https://stackoverflow.com/questions/10707287/django-celery-routing-problems

  2. You need to configure a message broker in your application like RabbitMQ or Redis where messages are stored and consumed by celery workers.

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-email-service-0.3.tar.gz (15.6 kB view details)

Uploaded Source

File details

Details for the file django-email-service-0.3.tar.gz.

File metadata

  • Download URL: django-email-service-0.3.tar.gz
  • Upload date:
  • Size: 15.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/49.2.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.3

File hashes

Hashes for django-email-service-0.3.tar.gz
Algorithm Hash digest
SHA256 93114d65e41bc66bffaa9ddffec6e7af0f446a258906dfcc8c38c2229e97c5b7
MD5 092af2356871be79c3760afdc15a3d6a
BLAKE2b-256 aeeade506a63403f70cdb8538ad611061c6ecfda677d2eb2e344b8e8a4e878cb

See more details on using hashes here.

Supported by

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