Fix merge conflict in README.rst

This commit is contained in:
Tom Atkins 2015-11-18 11:16:25 +00:00
parent 7eb0fc0e81
commit 3316a3b023
9 changed files with 35 additions and 51 deletions

View File

@ -42,7 +42,7 @@ Optional Integrations
* Serve static files from Amazon S3 or Whitenoise_ * Serve static files from Amazon S3 or Whitenoise_
* Configuration for Celery_ * Configuration for Celery_
* Integration with Maildump_ for local email testing * Integration with MailHog_ for local email testing
* Integration with Sentry_ for error logging * Integration with Sentry_ for error logging
* Integration with NewRelic_ for performance monitoring * Integration with NewRelic_ for performance monitoring
* Integration with Opbeat_ for performance monitoring * Integration with Opbeat_ for performance monitoring
@ -59,7 +59,7 @@ Optional Integrations
.. _Mailgun: https://mailgun.com/ .. _Mailgun: https://mailgun.com/
.. _Whitenoise: https://whitenoise.readthedocs.org/ .. _Whitenoise: https://whitenoise.readthedocs.org/
.. _Celery: http://www.celeryproject.org/ .. _Celery: http://www.celeryproject.org/
.. _Maildump: https://github.com/ThiefMaster/maildump .. _MailHog: https://github.com/mailhog/MailHog
.. _Sentry: https://getsentry.com .. _Sentry: https://getsentry.com
.. _NewRelic: https://newrelic.com .. _NewRelic: https://newrelic.com
.. _docker-compose: https://www.github.com/docker/compose .. _docker-compose: https://www.github.com/docker/compose
@ -115,7 +115,7 @@ It prompts you for questions. Answer them::
year [2015]: year [2015]:
use_whitenoise [y]: n use_whitenoise [y]: n
use_celery [n]: y use_celery [n]: y
use_maildump [n]: n use_mailhog [n]: n
use_sentry [n]: y use_sentry [n]: y
use_newrelic [n]: y use_newrelic [n]: y
use_obpeat [n]: y use_obpeat [n]: y

View File

@ -11,7 +11,7 @@
"year": "{{ cookiecutter.now[:4] }}", "year": "{{ cookiecutter.now[:4] }}",
"use_whitenoise": "y", "use_whitenoise": "y",
"use_celery": "n", "use_celery": "n",
"use_maildump": "n", "use_mailhog": "n",
"use_sentry": "n", "use_sentry": "n",
"use_newrelic": "n", "use_newrelic": "n",
"use_opbeat": "n", "use_opbeat": "n",

View File

@ -31,9 +31,16 @@ django-allauth sends an email to verify users (and superusers) after signup and
.. _configure your email backend: http://docs.djangoproject.com/en/1.8/topics/email/#smtp-backend .. _configure your email backend: http://docs.djangoproject.com/en/1.8/topics/email/#smtp-backend
In development you can (optionally) use Maildump_ for email testing. Or alternatively simply output emails to the console via: ``EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'`` In development you can (optionally) use MailHog_ for email testing. MailHog is built with Go so there are no dependencies. To use MailHog::
.. _Maildump: https://github.com/ThiefMaster/maildump 1. `Download the latest release`_ for your operating system
2. Rename the executable to ``mailhog`` and copy it to the root of your project directory
3. Make sure it is executable (e.g. ``chmod +x mailhog``)
.. _Mailhog: https://github.com/mailhog/MailHog/
.. _Download the latest release: https://github.com/mailhog/MailHog/releases
Alternatively simply output emails to the console via: ``EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'``
In production basic email configuration is setup to send emails with Mailgun_ In production basic email configuration is setup to send emails with Mailgun_

View File

@ -34,10 +34,10 @@ use_celery [n]
Whether to use Celery_. This gives you the ability to use distributed task Whether to use Celery_. This gives you the ability to use distributed task
queues in your project. queues in your project.
use_maildump [n] use_mailhog [n]
Whether to use Maildump_. Maildump is a tool that simulates email receiving Whether to use MailHog_. MailHog is a tool that simulates email receiving
for development purposes. It runs a super simple SMTP server which catches for development purposes. It runs a simple SMTP server which catches
any message sent to it. Then messages are displayed in a web interface. any message sent to it. Messages are displayed in a web interface which runs at ``http://localhost:8025/`` You need to download the MailHog executable for your operating system, see the 'Developing Locally' docs for instructions.
use_sentry [n] use_sentry [n]
Whether to use Sentry_ to log errors from your project. Whether to use Sentry_ to log errors from your project.
@ -51,5 +51,5 @@ use_python2 [n]
.. _WhiteNoise: https://github.com/evansd/whitenoise .. _WhiteNoise: https://github.com/evansd/whitenoise
.. _Celery: https://github.com/celery/celery .. _Celery: https://github.com/celery/celery
.. _Maildump: https://github.com/ThiefMaster/maildump .. _MailHog: https://github.com/mailhog/MailHog
.. _Sentry: https://github.com/getsentry/sentry .. _Sentry: https://github.com/getsentry/sentry

View File

@ -62,7 +62,7 @@ def test_default_configuration(cookies, context):
check_paths(paths) check_paths(paths)
@pytest.fixture(params=['use_maildump', 'use_celery', 'windows']) @pytest.fixture(params=['use_mailhog', 'use_celery', 'windows'])
def feature_context(request, context): def feature_context(request, context):
context.update({request.param: 'y'}) context.update({request.param: 'y'})
return context return context

View File

@ -22,7 +22,6 @@ module.exports = function (grunt) {
images: this.app + '/static/images', images: this.app + '/static/images',
js: this.app + '/static/js', js: this.app + '/static/js',
manageScript: 'manage.py', manageScript: 'manage.py',
{% if cookiecutter.use_maildump=="y" -%}mailserverpid: 'mailserver.pid',{%- endif %}
} }
}; };
@ -113,16 +112,16 @@ module.exports = function (grunt) {
runDjango: { runDjango: {
cmd: 'python <%= paths.manageScript %> runserver' cmd: 'python <%= paths.manageScript %> runserver'
}, },
{% if cookiecutter.use_maildump == "y" -%}runMailDump: { {% if cookiecutter.use_mailhog == "y" -%}runMailHog: {
cmd: 'maildump -p <%= paths.mailserverpid %>' cmd: './mailhog'
},
stopMailDump: {
cmd: 'maildump -p <%= paths.mailserverpid %> --stop'
},{%- endif %} },{%- endif %}
} }
}); });
grunt.registerTask('serve', [ grunt.registerTask('serve', [
{% if cookiecutter.use_mailhog == "y" -%}
'bgShell:runMailHog',
{%- endif %}
'bgShell:runDjango', 'bgShell:runDjango',
'watch' 'watch'
]); ]);
@ -135,12 +134,5 @@ module.exports = function (grunt) {
grunt.registerTask('default', [ grunt.registerTask('default', [
'build' 'build'
]); ]);
{% if cookiecutter.use_maildump == "y" -%}
grunt.registerTask('start-email-server', [
'bgShell:runMailDump'
]);
grunt.registerTask('stop-email-server', [
'bgShell:stopMailDump'
]);{%- endif %}
}; };

View File

@ -61,28 +61,25 @@ Please note: For Celerys import magic to work, it is important *where* the celer
{% endif %} {% endif %}
{% if cookiecutter.use_maildump == "y" %} {% if cookiecutter.use_mailhog == "y" %}
Email Server Email Server
^^^^^^^^^^^^ ^^^^^^^^^^^^
In development, it is often nice to be able to see emails that are being sent from your application. For this purpose, In development, it is often nice to be able to see emails that are being sent from your application. If you choose to use `MailHog`_ when generating the project a local SMTP server with a web interface will be available.
a Grunt task exists to start an instance of `maildump`_ which is a local SMTP server with an online interface.
.. _maildump: https://github.com/ThiefMaster/maildump .. _mailhog: https://github.com/mailhog/MailHog
Make sure you have nodejs installed, and then type the following:: To start the service, make sure you have nodejs installed, and then type the following::
$ grunt start-email-server $ npm install
$ grunt serve
This will start an email server. The project is setup to deliver to the email server by default. To view messages (After the first run you only need to type ``grunt serve``) This will start an email server that listens on ``127.0.0.1:1025`` in addition to starting your Django project and a watch task for live reload.
that are sent by your application, open your browser to http://127.0.0.1:1080
To stop the email server:: To view messages that are sent by your application, open your browser and go to ``http://127.0.0.1:8025``
$ grunt stop-email-server The email server will exit when you exit the Grunt task on the CLI with Ctrl+C.
The email server listens on 127.0.0.1:1025
{% endif %} {% endif %}

View File

@ -25,7 +25,7 @@ SECRET_KEY = env("DJANGO_SECRET_KEY", default='CHANGEME!!!')
# ------------------------------------------------------------------------------ # ------------------------------------------------------------------------------
EMAIL_HOST = 'localhost' EMAIL_HOST = 'localhost'
EMAIL_PORT = 1025 EMAIL_PORT = 1025
{%if cookiecutter.use_maildump == "n" -%} {%if cookiecutter.use_mailhog == "n" -%}
EMAIL_BACKEND = env('DJANGO_EMAIL_BACKEND', EMAIL_BACKEND = env('DJANGO_EMAIL_BACKEND',
default='django.core.mail.backends.console.EmailBackend') default='django.core.mail.backends.console.EmailBackend')
{%- endif %} {%- endif %}

View File

@ -13,15 +13,3 @@ django-debug-toolbar==1.4
# improved REPL # improved REPL
ipdb==0.8.1 ipdb==0.8.1
{% if cookiecutter.use_maildump == "y" -%}
# Required by maildump.
{% if cookiecutter.use_python2 == 'n' -%}
# Need to pin dependency to gevent beta to be Python 3-compatible.
gevent==1.1b6
{% else -%}
gevent==1.0.2
{% endif -%}
# Enables better email testing
maildump==0.5.1
{%- endif %}