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
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file django-send-email-0.1.0.tar.gz
.
File metadata
- Download URL: django-send-email-0.1.0.tar.gz
- Upload date:
- Size: 5.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7cd5330acc5c410f87bdb53b153a319d108709c3758a43c8858b9f9eff5a3edb |
|
MD5 | cb957d5ae1d74db2f437edbf772b6fc8 |
|
BLAKE2b-256 | c446edf1682d45afe1989667fcbb7dc09c885079b74b1c8af1434f03c02fb4aa |