Skip to main content

Send emails from the command line using Django's settings

Project description

# Email Command for Django

This app provides a simple management command for sending emails using your Django settings from the command line.


## Install

Pull down the app:

$ pip install django-send-email

Add it to your `INSTALLED_APPS`:

INSTALLED_APPS = (
...
'django_send_email'
)


## Sending Emails

django-send-email provides a management command named `send_email_message` to send emails from the command line.

$ django-admin.py send_email_message subject message user1@example.com user2@example.com

Subject, message and at least one recipient are required. You can pass `ADMINS` or `MANAGERS` as any one of the recipients and django-send-email will fetch the recipients from the proper Django setting.

$ django-admin.py send_email_message subject message MANAGERS --bcc=ADMINS

You can also pass a filename as the message argument and django-send-email will use the file contents at the body of the email.

$ django-admin.py send_email_message subject /path/to/message.txt user1@example.com user2@example.com

Alternatively you can use `-` as the message argument to read from standard input.

$ django-admin.py send_email_message subject - user1@example.com user2@example.com < /path/to/message.txt
$ echo "some message text" | django-admin.py send_email_message subject - user1@example.com user2@example.com

### Full Usage

Usage: manage.py send_email_message [options] <subject> <message or file or "-"> <recipient1>...<recipientN>

Sends an email to the specified email addresses.
Message can be a string, filename or "-" to read from stdin.

Options:
-v VERBOSITY, --verbosity=VERBOSITY
Verbosity level; 0=minimal output, 1=normal output,
2=verbose output, 3=very verbose output
--settings=SETTINGS The Python path to a settings module, e.g.
"myproject.settings.main". If this isn't provided, the
DJANGO_SETTINGS_MODULE environment variable will be
used.
--pythonpath=PYTHONPATH
A directory to add to the Python path, e.g.
"/home/djangoprojects/myproject".
--traceback Print traceback on exception
--noinput Tells Django to NOT prompt the user for input of any
kind.
-f FROM_EMAIL, --from=FROM_EMAIL
Email address to use to send emails from. Defaults to
use settings.DEFAULT_FROM_EMAIL
-r, --raise-error Exceptions during the email sending process will be
raised. Default to failing silently
-n, --noprefix Disables email subject prefix. Default behavior is to
prepend settings.EMAIL_SUBJECT_PREFIX
-b BCC, --bcc=BCC Comma separated list of email addresses for BCC
-c CC, --cc=CC Comma separated list of email addresses for CC
--version show program's version number and exit
-h, --help show this help message and exit


## Testing

Running the unittests is as simple as testing any other Django app

django-admin.py test django_send_email

To test the command on a development SMTP server, you can run the debug SMTP server from the `smtp` library.

$ python -m smtpd -n -c DebuggingServer localhost:1025

Just make sure that Django is configured correctly to point at localhost:1025

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-send-email-0.1.0.tar.gz (5.8 kB view hashes)

Uploaded Source

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