Правила брандмауэра не разрешают трафик DNS (порт UDP 53). Таким образом, ваше приложение Django не может выполнять поиск DNS, чтобы найти smtp.gmail.com
:
gaierror at /contact/mailto [Errno -2] Name or service not known
Чтобы исправить это, напишите правила брандмауэра, разрешающие исходящие запросы DNS и входящие ответы DNS.
Может ли быть, что --sport и --dsport должны быть наоборот?
# Allow outgoing SMTP
iptables -A OUTPUT -o eth0 -p tcp --dport 587 -m state --state NEW,ESTABLISHED -j A
iptables -A INPUT -i eth0 -p tcp --sport 587 -m state --state ESTABLISHED -j ACCEPT