ho un form per inviare mail che funziona perfettamente, ma mi è stato detto che è a rischio di spam perchè non contiene controlli per gli indirizzi immessi, riporto per intero...
Se vogliono (e se l'hosting lo permettesse) potrebbero per ogni invio far partire migliaia di mail semplicemente accodando indirizzi, oggetti, contenuto con dovuti accorgimenti, sull'unica variabile $emailto... anche perchè se non sbaglio (ho letto al volo) sulle altre variabili fai dei controlli, ma su quella nulla.
Non è questione di memorizzazioni, in quell'unica variabile ci possono infilare 2000 indirizzi mail, un oggetto, un contenuto ed inviare senza a che te non arrivi neanche nulla.
Adesso che hai preso il dominio, se te lo infilano in qualche lista di spam poi non riesci più a mandare mail a nessuno se non ti fai il mazzo per farti togliere dalla lista.
non ho capito bene come funzionerebbe, visto che ho una variabile per l'indirizzo mail di destinazione(il mio) specificata nel codice e quindi non alterabile dall'utente, e un altra variabile con indirizzo email mittente inserito tramite il form su cui è effettuato un controllo di validità per cui non vedo come si possano inserire indirizzi multipli, lì si specifica il mittente, il destinatario sono sempre io e non può essere cambiato se non manipolando il codice, allora di che accorgimenti parla? vi metto quì il codice intero, a me non sembra che ci siano falle, se ne trovate ditememelo per favore...
codice:
<?
$nome = trim($_POST['nome']);
$oggetto = trim($_POST['oggetto']);
$messagge = trim($_POST['messagge']);
$email = trim($_POST['email']);
if(get_magic_quotes_gpc())
{
$nome = stripslashes($nome);
$oggetto = stripslashes($oggetto);
$email = stripslashes($email);
$messagge = stripslashes($messagge);
}
if ($_POST['op'] =="invio") {
$error=0;
$msg="";
if ($nome=="") {
$error=1;
$msg.="- Il campo nome è vuoto.
";
}
if ($oggetto=="") {
$error=1;
$msg.="- Il campo oggetto è vuoto.
";
}
if ($email=="") {
$error=1;
$msg.="- Il campo e-mail è vuoto.
";
}
if ($email!="" && !eregi("^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,3}$",$email)) {
$error=1;
$msg.="- L'e-mail inserita non è valida.
";
}
if ($messagge=="") {
$error=1;
$msg.="- Il campo messaggio è vuoto.
";
}
$error_file="";
if ($error==1 || $error_file!="") {
echo "<div id=\"datiAlert\">
Attenzione! Si sono verificati i seguenti errori:
$msg
$error_file
<a href=\"javascript:history.back()\">Clicca qui</a> per inserire i dati.</div>";
} else {
$emailto="mia@mail.it";
$headers = "MIME-Version: 1.0\n";
$headers .= "Content-Type: multipart/mixed; boundary=\"XX-1234DED00099\"\n";
$headers .= "Content-Transfer-Encoding: 7bit\n";
$headers .= "From: $email\n";
$messaggio="--XX-1234DED00099A\n";
$messaggio.="Content-Type: text/plain; charset=ISO-8859-1\n";
$messaggio.="Content-Transfer-Encoding: 7bit\n\r";
$messaggio.="Dati inseriti\n";
$messaggio.="Nome: $nome\n\rOggetto: $oggetto\n\r";
$messaggio.="E-mail: $email\nMessaggio:\n\r$messagge\n\r";
$messaggio.="\n\r";
$messaggio.="\n\r";
$messaggio.="\n\r";
$messaggio.="\n\r";
$messaggio.="Mail inviata da : www.miosito.it\n\r";
$oggetto_send="$oggetto";
if (!mail($emailto, $oggetto_send, $messaggio, $headers)) {
echo "
Attenzione.
Si sono verificati degli errori durante l'invio della Email.
Riprovare di nuovo <a href=\"javascript: history.back()\">cliccando qui.</a>
Se l'errore persiste riprovare più tardi. Grazie.";
}
else {
$messaggio_risposta="Grazie per avermi contattato.\n\rIl messaggio è stato inoltrato, risponderò appena possibile.\n\r";
$messaggio_risposta.="\n\r";
$messaggio_risposta.="Dati inseriti\n\r";
$messaggio_risposta.="Nome: $nome\n\rOggetto: $oggetto\n\r";
$messaggio_risposta.="Messaggio:\n\r$messagge\n\r\n\r";
$messaggio_risposta.="Distinti saluti.\n\r";
$messaggio_risposta.="\n\r";
$messaggio_risposta.="\n\r";
$messaggio_risposta.="\n\r";
$messaggio_risposta.="\n\r";
$messaggio_risposta.="Mail inviata da : www.miosito.it\n\r";
$oggetto2="Messaggio inoltrato";
mail($email, $oggetto2, $messaggio_risposta, "From: TeraBIT <$emailto>" );
echo "<div id=\"datiInviati\">
E-mail inviata correttamente, riceverete un messaggio di conferma alla vostra casella di posta.
I dati inseriti sono i seguenti:
<div id=\"messRisposta\">
Nome: $nome
Oggetto: $oggetto
E-mail: $email
Messaggio:
".nl2br($messagge)."
</div>
Grazie per avermi contattato, rispondero' appena possibile.
</div>";
}
}
} else {
?>
a me non sembra esserci nulla di errato, ma vorrei anche un giudizio esterno...