NIH | National Cancer Institute | NCI Wiki  

Error rendering macro 'rw-search'

null

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 4 Next »

The CodaLab website requires the ability to send emails when a user forgets his or her password and requests a password reset.

We use the "SendGrid add-on to Windows Azure" to send emails via SMTP.

The SendGrid developer documentation explains how to integrate the email service in Django. In addition, the Django project provides comprehensive documentation: https://docs.djangoproject.com/en/dev/topics/email/. Additional notes are collected below.

Settings

The key settings that affect how emailing works follow.

EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtp.sendgrid.net'
EMAIL_HOST_USER = '<insert username>'
EMAIL_HOST_PASSWORD = '<insert password>'
EMAIL_PORT = 587
EMAIL_USE_TLS = True
DEFAULT_FROM_EMAIL = 'info@codalab.org'
SERVER_EMAIL = 'info@codalab.org'

The Site configuration also plays a role because it defines the domain name associated with the website. The site domain name and a human-readable name of the website are defined in the settings by:

CODALAB_SITE_DOMAIN = 'codalab.org'
CODALAB_SITE_NAME = 'CodaLab'

The initialize.py script inserts these names in the database. Recall that initialize.py is located in codalab/scripts and is used to insert constants into the database. To illustrate how the site info is used, consider the email sent to a user resetting his or her password:

Subject: [CodaLab] Password Reset Email
From: info@codalab.org
To: someuser@somewhere.com
Date: Thu, 03 Oct 2013 22:42:55 -0000

You're receiving this email because you or someone else has requested a password 
for your user account at codalab.org. It can be safely ignored if you did not request 
a password reset. Click the link below to reset your password.

http://codalab.org/accounts/password/reset/key/1-3le-6640241efe4e5b77f4e5/

In case you forgot, your username is someuser.

Thanks for using our site!

The subject field of the email uses the verbose name of the site, while the body of the email includes several references to codalab.org, which is given by the site's domain name.

Testing Without Sending E-mails

As noted in the Django documentation, one can avoid sending emails during development but still see them in the console by setting:

EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'

This is the default configuration for the base Dev configuration.

  • No labels