Если это живое приложение и важно взаимодействие с пользователем, тогда я советую вам не отправлять что-либо, связанное с электронной почтой, в обработчики post_save или даже в представлениях.
Причины таковы: SMTP может оборваться, сетевое соединение может оборваться, сеть может быть работоспособна, но скорость может быть такой же, как улитки и т. Д. В каждом из этих случаев ваша программа либо прерывается, либо пользователь ждет, ждет и ждет ... ... что не хорошо для бизнеса.
Решение состоит в том, чтобы написать / купить / найти отдельный диспетчер электронной почты, который способен аккуратно обрабатывать все такие ситуации, оповещать администратора в случае возникновения проблем, переключать SMTP-шлюзы на лету, дополнительно он может отслеживать отскок и т. Д.
Затем в вашем обработчике post_save вы добавляете только что-то вроде этого:
email_dispatcher.add_to_queue(my_email)
Что касается готовых решений - быстрое сканирование code.google com привело к http://code.google.com/p/django-mailer/, но я не использовал его, поэтому не могу дать рекомендации.