< / >

This is a blog by about coding and web development.

Gmail and Django

Posted on in

Did a bit of running around today to get Django sending email via Gmail. It’s simple once you figure it out.

If you’re running 0.96, upgrade to the latest development version or apply the patch from ticket #2897. 0.96 does not support TLS, which Gmail requires. Then add the appropriate values to settings.py:

    EMAIL_USE_TLS = True
    EMAIL_HOST = 'smtp.gmail.com'
    EMAIL_HOST_USER = 'youremail@gmail.com'
    EMAIL_HOST_PASSWORD = 'yourpassword'
    EMAIL_PORT = 587

You can use the shell to test it:

    >>> from django.core.mail import send_mail
    >>> send_mail('Test', 'This is a test', to=['youremail@somewhere.com'])

Edit: Bryan commented that send_mail is deprecated. Use EmailMessage instead:

    >>> from django.core.mail import EmailMessage
    >>> email = EmailMessage('Hello', 'World', to=['youremail@somewhere.com'])
    >>> email.send()