При успешной обработке формы нужно делать не render, а redirect (т.к. при нажатии F5 форма отправится снова)
Еще на последней строчке Вы возвращаете форму, а нужно render(request, 'single_index.html', {'form': form})
request вообще не надо импортировать, это агрумент view-функции.
Также непонятно зачем оборачивать send_mail в try...except и ловить только BadHeaderError. Я бы ловил более широкий класс ошибок и говорил пользователю, что отправка не удалась.