Votre script fait appel à un comportement de php déprécié pour des raisons de sécurité depuis php 4.2.0. Vous trouverez plus détails sur http://be2.php.net/register_globals
En résumé les variables venant des formulaires ne sont plus par défaut enregistrées dans le contexte du script mais accessibles via les hashes $_GET $_POST et $_COOKIE. Les variables auquelles vous faites appel ne sont donc pas définies ce qui explique que le contenu du mail soit vide, et il faut par exemple par sécurité utiliser
$_GET[’login’] en lieu et place de $login (ou $_POST[’login’] si le formulaire est envoyé en post)
A terme les nouvelles versions de php ne supporteront plus ce comportement, nous vous conseillons donc vivement d’adapter votre script.