no il form lascialo così come è, modifichiamo la query in modo che estragga un solo record

Codice PHP:
$sql1="select * from newsletter_categories where id ='".$_POST['categoria']."' ";
// usa $_GET o $_POST a seconda del method che hai nel form 
e poi per fare le cose per bene, visto che stiamo usando una chiave univoca e quindi la query obbligatoriamente estrarrà un solo record, ci andiamo a togliere il ciclo while che non serve a nulla

Codice PHP:
//while($riga=mysql_fetch_array($dati1)){
//    $body .= "Un nuovo utente si è ISCRITTO alla Newsletter: " . trim(stripslashes($_POST["email1"])) . " In questa Città: " . $riga['name'] . "\n";
//}

$riga=mysql_fetch_array($dati1);
$body .= "Un nuovo utente si è ISCRITTO alla Newsletter: " trim(stripslashes($_POST["email1"])) . " In questa Città: " $riga['name'] . "\n"
ti ho commentato le righe di codice che dovrai eliminare sostituendole con le nuove