ok
allora

Codice PHP:

sql 

create table newsletter
(
  
id   int auto_increment not null,

  
mail varchar(100),
  
is_active  tinyint default 1,
  
code   varchar(255),
  
  
primary key(id)

);

la tabella così ha un id univoco che si aggiorna da solo
la mail di max 100 caratteri
la flag attiva si
/no  1/0
e il codice di rimozione 



fai una form su una pagina
basta che abbia anche il solo campo mail
<form name="newsletter_form" action="register.php" method="post">
<
input type="text" name="mail_addr" maxlength="100" />
</
form>


il file register.php

if( $_POST['mail_addr'])
{
  
$mail trim($_POST['mail_addr']);
  
//a sto punto cerca su web qlke espressione regolare per controllare che 
  //l'idirizzo mail sia corretto magari anche con dsnlookup

  // se e' corretto
  
  // generi un codice random o che ne so usa una timestamp o anche l'md5 della mail
  
$code time();

  
// effettua la query di inserimento
  
$conn mysql_connect("server" "user" "pwd");
  
mysql_select_db("database" $conn );

  
// controlliamo che la mail nn esite gia'. Ci sono altri modi ma questo e' abb semplice
  
$ris  mysql_query("select * from newsletter where mail='".$mail."'" $conn)or die(mysql_error());
  if(
mysql_num_rows($ris)!=0)
    die(
"L'indirizzo fornito esiste gi&agrave;");
  
  
// se la mail nn c'e' già
  
$q "insert into newsletter(mail ,  code) values('".$mail."' , '".$code."')";
  
mysql_query($q $conn )or die(mysql_error());

  
// a questo punto puoi inviare una mail di conferma
  // guardati la funzione mail(...) di php *

  // se arrivi qua e' tutto apposto fai un redirect
  
header("Location:mailregistered.html");
  
// forziamo la chiusura dello script
  
die();


* per inviare mail puoi usare la classe mime mail su php guru che troviqua .

Questo per la registrazione per il pannello di controllo etc dovrei fare un'area ad accesso riservato che ti visualizza le email salvate e li poi te la gestisci come vuoi.