nunca lo he hecho, pero deberias tener una tabla temporal para guardar a los usuarios que no hayan confirmado, y un campo con una seria aleatoria, en el mail envias este serie en un link una cosa asi:
http://tupagina.com/valida.php?seria...h4h6h674jj2445
en valida.php, comparas la seria recibida con la guardada, si son iguales pasas los datos del user a la tabla definitiva.
saludos