Cita:
Iniciado por a83
gua que complicado es esto

No lo es. La lógica es simple. Al guardar los datos del usuario en la base de datos, guardas una clave generada aleatoriamente. Generarla es tan simple como:
Código PHP:
$clave = md5(time().rand());
Luego, envias el mail por medio de PHPMailer o la función mail, indicándole esa clave al usuario.
Creas una página que recoja la clave, del tipo
pag.php?id=dshf7843ytrhg87reyhfdgyfd7, y actualizas la base de datos, cambiando el estado de tu usuario a activo. Es todo
Algunos temas más abajo se está tratando el mismo asunto
Un saludo,