ciao,grazie dell'aiuto ma purtroppo non riesco a risolvere il problema
vediamo se postando i codici risolviamo
ho una pagina index.php
con il seguente link
Codice PHP:
[url="mail.php?$email=<?php echo ''.$_GET['email'];?>"][/url]
questa è la pagina mail.php con il form per l'invio email
Codice PHP:
<form method="get" action= "<?php $_SERVER['PHP_SELF']; ?>">
<span class="style1">Il tuo nome</span>
<input type="text" name="mittente"/>
<span class="style1">La tua e-mail</span>
<input type="text" name="emailmittente"/>
<div id="testo">[b]Testo[/b]</div>
<textarea name="testo" rows="7" cols="70"></textarea>
<input type="submit" name="invia" value="Invia"/>
<input type="reset" name="reset" value="Cancella"/>
<input type="hidden" name="get_mail" value="<?php echo (urlencode( $_GET['email'])) ; ?>"/>
</form>
<?php
if(isset($invia)){
$header = "From: ". $mittente . " <" . $emailmittente . ">\r\n";
mail($get_mail, $mittente, $testo, $header);
echo '
Email inviata a
'.$email;}
?>
ho provato a fare come dici tu ma nulla 
continuo a vedere la email senza il carattere @
se uso print() al posto di @ vedo %40
se uso echo(urlencode()) al posto di @ mi scrive %2540
non ho idea di cosa provochi questo problema