Не могли бы вы подсказать, что я делаю не так?
Не так вы делаете
отладку вашего скрипта. Если бы вы делали так, как надо, то быстро бы нашли ошибку.
Научитесь отлаживать свои программы, иначе вы не имеете права называться программистом. А когда столкнетесь с реальным
парадоксом, то сведите его к 2-3 строчкам кода, который любой желающий сможет легко воспроизвести у себя, - и можно будет задать вопрос на Тостере.
Кроме того, вы не так даже задали этот вопрос. Потому что не описали результат. Ведь слова "не работает" или "не отправляется" ни о чем не говорят человеку, который готов вам ответить. Текст ошибки где?? Вам нужно хотя бы немножко думать о тех, кому вы пишете, ставить себя на их место. А на текущий вопрос даже начать отвечать не получится, а про ответ-решение вообще молчу.