Testing Email in Django The Easy Way

Today a coworker showed me a very easy way to test django code that sends emails.  It’s straight from the documentation:

Another approach is to use a “dumb” SMTP server that receives the e-mails locally and displays them to the terminal, but does not actually send anything. Python has a built-in way to accomplish this with a single command:

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

This command will start a simple SMTP server listening on port 1025 of localhost. This server simply prints to standard output all e-mail headers and the e-mail body. You then only need to set the EMAIL_HOST and EMAIL_PORT accordingly, and you are set.

Tags: , , , , ,

2 Responses to “Testing Email in Django The Easy Way”

  1. George Griffin Says:

    Great! I was just having this problem. I was just uploading the whole project to my server every time I wanted to test it. Thanks, Tim!

  2. Steve Achabal Says:

    Thanks for this post. I am new at django and this will help a lot.

Leave a Reply