Das Script führt nur zur Bestätigung deines Free Accounts und hat nichts mit dem Update der IP Adresse bei NoIP zu tun.
Das regelt der Router eigenständig.
Man kann das natürlich prüfen aber bei mir läuft das eig seit Jahren auch so problemlos.
Port 25 klappt, 465 leider nicht. Hatte auch einen anderen Provider versucht bei dem ich ein Passwort mit Umlauten verwende. Dort kam auch eine Fehlermeldung. Keine Ahnung ob dies mit python zusammenhängt.