no no il processo è automatizzato eccome. L'unico intervento umano sta nell'utente che riceve la mail e clicca sul link se vuole dare il consenso...
Ti faccio un esempio con il codice (in breve):
supponiamo di avere appena acquisito da un form un indirizzo e-mail, salvato nella variabile $_POST['email']
Codice PHP:
<?php
$indirizzoutente = $_POST['email'];
// Genero un codice
$codice = md5(time()); //uso questo metodo giusto per avere un codice sempre diverso e piuttosto difficile da indovinare
// Prepariamo la mail
$testo = "ciao utente\nSe vuoi dare il tuo consenso clicca sul link [url='www.miosito.com/attiva.php?emaildaattivare=$indirizzoutente&codiceattivazione=$codice']do il mio consenso[/url]ciao saluti e baci ossequi alla signora";
$oggetto = "sono proprio un bell'oggetto";
$headers = "...."; // devi impostare gli headers per un messaggio html se vuoi far visualizzare correttamente il codice html per il link
// invio la e-mail
mail($indirizzoutente, $oggetto, $testo, $headers);
// Ora devo scrivere da qualche parte i dati per poterli controllare al momento dell'attivazione, supponiamo di farlo in un dabatase
mysql_query("INSERT INTO attivazione (email, codice) VALUES ('$indirizzoutente', '$codice')") or die ("errore inserimento");
?>
Perfetto è questo processava il tutto e inviava la e-mail.
Nella pagina attiva.php, invece:
Codice PHP:
// Recupero i dati forniti nell'indirizzo
$emailutente = $_GET['emaildaattivare'];
$codiceutente = $_GET['codiceattivazione'];
$query = mysql_query("SELECT * FROM attivazione WHERE email = '$emailutente' LIMIT 0,1") or die ("Errore");
if(mysql_num_rows($query)<0) die("L'indirizzo e-mail non è nel db");
$results = mysql_fetch_array($query);
if($results['codice'] == $codiceutente);
{
//Attiva l'indirizzo e-mail (e qui decidi tu poi cosa fare)
}
else
{
echo "Spiacente, il codice non corrisponde all'email indicata";
die();
}
Poi decidi tu come personalizzarlo...
Occhio a non utilizzare il codice che ho scritto io perchè
1) mi sa che non funziona, vista la sua incompletezza
2) se anche funzionasse sarebbe insicuro sotto molti aspetti
Spero di essere stato chiaro.. se hai ancora qualche dubbio chiedi pure