Usually, even a small web application should send some emails: errors, registration, restore password, invitations, etc.
There are 3 solutions:
- use an existing account, like gmail: the main problem - you don’t know how many emails you can send before being marked as spam
- use own mail server: need to install, configure and support
- use email service, like sendgrid, mailgun: easy to configure, provide statistics and logs, can use default http port.
For some my small projects i choosed mailgun, it provides 10000 emails in month for free, for my needs it’s more than enough and after that it’s also not expensive. For django there is a email backend django-mailgun and it takes two minutes to switch to it.