Hola.
Yo estoy haciendo algo parecido a lo que quieres hacer sobre la activación y lo he conseguido.
Te comento:
En el momento de registrarse y realizar todas las comprobaciones oportunas, es decir, que el usuario no exista, que estén todos los campos del registro rellenos (los que sean obligatorios), etc... deberás enviar un email al usuario con el enlace que lo lleve a la página de activación.
Se puede utilizar la función mail que trae php aunque yo me he decantado por una clase mucho más completita que incorpora 3 ficheros php. El phpmailer, no se si te sonará.
Con esto envío los mensajes sin problemas (comprobado). Entonces lo que deberás hacer es tener un campo flag en tu tabla de registros que te guarde por defecto al crear el registro una "N". Entonces con este campo sabes que NO ESTA ACTIVADA la cuenta.
Le envías el email al usuario con un enlace del tipo:
http://www.dominio.com/activacion.php?nick=usuario
Entonces el usuario al darle al enlace, se cargará la página desde la cual tendrás que introducir el password por ejemplo y el usuario que ya se lo pasas por GET al formulario. Compruebas que exista en la bbdd y si todo es correcto, entonces el campo "activado" lo pones a "S".
De esta forma la cuenta queda activada.
Perdona si te he perdido un poco pero no se me da muy bien eso de explicar las cosas en condiciones.
Te paso un enlace en el que viene todo bien explicado por Cluster.
http://www.forosdelweb.com/showthrea...cuenta+usuario
SALUDOS.