[PHP] Ricevo una doppia mail dal form

allegria

Nuovo Utente
17 Feb 2016
5
0
1
Salve a tutti, avrei il seguente problema.
Ho un form che funziona (o perlomeno così pare) ma ricevo due mail per lo stesso messaggio, una con l'indirizzo email del mittente, ed un'altra con l'indirizzo [email protected] e simili.
E non riesco a capire il motivo.

Qualcuno può aiutarmi?

Ecco il php:

PHP:
<?php 
                            $nome = trim($_POST['nome']);
                            if ($nome == "") {
                                echo "<p>Tutti i campi sono obbligatori</p>
                                    <a class='button' href='http://www.sito.it/contatti.php'>Indietro</a>";
                                exit;
                            }
                            $nome = strip_tags($nome);
                            $nome = addslashes($nome);
                            $nome = ucfirst($nome);

                            $mail = trim($_POST['mail']);
                            if ($mail == "") {
                                echo "<p>Tutti i campi sono obbligatori</p>
                                    <a class='button' href='http://www.sito.it/contatti.php'>Indietro</a>";
                                exit;
                            }
                            $mail = strip_tags($mail);
                            $mail = addslashes($mail);
                          
                            $msg = trim($_POST['msg']);
                            if ($msg == "") {
                                echo "<p>Tutti i campi sono obbligatori</p>
                                    <a class='button' href='http://www.sito.it/contatti.php'>Indietro</a>";
                                exit;
                            }
                            $msg = strip_tags($msg);
                            $msg = addslashes($msg);
                            $msg = ucfirst($msg);
                            $msg = nl2br($msg);


                            $testo = "Nome: " . $nome . "\n"
                            . "Mail: " . $mail . "\n"
                            . "Messaggio: " . $msg;
                          
                            $privacy=$_POST["privacy"];
                                if ($privacy =="") {
                                    echo "<p>Attenzione, accettare la privacy policy per continuare</p>
                                    <a class='button' href='http://www.sito.it/contatti.php'>Indietro</a>";
                                exit;
                                }

                            $response=$_POST["g-recaptcha-response"];
                                $captcha=file_get_contents("https://www.google.com/recaptcha/xxx".$response);
                                if ($captcha==false || !$response) {
                                    echo <<<ECHO
                                    <h1>Attenzione!</h1>
                                    <p>Per favore, ricontrolla il campo per la sicurezza e riprova.</p>
                                    <a class='button' href='http://www.sito.it/contatti.php'>Indietro</a>
ECHO;
                                }
                                else{
                                    $dest="[email protected]";
                                    $oggetto="messaggio da sito web";
                                    $msg="<html>
                                        <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/>
                                        <body style='background-color:#eee;font-family:Arial,sans-serif;font-size:11px'>
                                        <table cellspacing='0' cellpadding='0' style='margin:20px auto;background-color:#FFF'width='600px'>
                                        <tr>
                                        <td style='padding:20px;background-color:#fff;color:#FFF;font-size:16px;text-align:center;border-bottom:5px solid #a2ae02'>
                                        <img src='http://www.sito.it/imm/logo-sito.png' alt='Il mio sito'/>
                                        </td>
                                        </tr>
                                        <tr>
                                        <td style='padding:40px 20px;font-size:13px'>
                                        <p style='color:#a2ae02;'><strong>Messaggio da sito web</strong></p>
                                        <p style='margin-bottom:5px'><strong>Nome:</strong> $nome</p>
                                        <p style='margin-top:0;margin-bottom:5px';><strong>Mail:</strong> $mail</p>
                                        <p style='margin-top:0;margin-bottom:5px'><strong>Messaggio:</strong> $msg</p>
                                        </td>
                                        </tr>
                                        </table>
                                        </body>
                                    </html>";
                                }
                                    if (mail($dest, $oggetto, $msg, html_entity_decode($msg), $intestazione)) {
                                        echo <<<ECHO
                                            <h4>Messaggio inviato correttamente, grazie per averci contattato!</h4>
                                            <a class='button' href='http://www.sito.it/contatti.php'>Indietro</a>
ECHO;
                            }
                            else{
                                echo <<<ECHO
                                <h1>Ooops!</h1>
                                <p>Si è verificato un problema durante l&rsquo;invio del messaggio.<br />
                                Per contattare l&rsquo;assistenza scrivi a <a href="mailto:[email protected]"</a></p>
ECHO;
                            }
                            $intestazione ="MIME-Version: 1.0\r\n";
                            $intestazione .="Content-Type: text/html; charset=iso-8859-1\r\n";
                            $intestazione .="Content-Transfer-Encoding: 8bit\r\n";
                            $intestazione .="Return-Path: [email protected] \r\n";
                            $intestazione .="From: $mail \r\n";
                            $intestazione .="Cc: [email protected]\r\n";

                            mail($dest, $oggetto, $msg, $intestazione);

                        ?>
 
Ultima modifica di un moderatore:
nello script che hai postato ci sono due invii,
all'inizio e alla fine di questa sequenza
PHP:
if (mail($dest, $oggetto, $msg, html_entity_decode($msg), $intestazione))
{
  echo <<<ECHO
  <h4>Messaggio inviato correttamente, grazie per averci contattato!</h4>
  <a class='button' href='http://www.sito.it/contatti.php'>Indietro</a>
ECHO;
}
else
{
  echo <<<ECHO
  <h1>Ooops!</h1>
  <p>Si è verificato un problema durante l&rsquo;invio del messaggio.<br />
  Per contattare l&rsquo;assistenza scrivi a <a href="mailto:[email protected]"</a></p>
ECHO;
}
 $intestazione ="MIME-Version: 1.0\r\n";
 $intestazione .="Content-Type: text/html; charset=iso-8859-1\r\n";
 $intestazione .="Content-Transfer-Encoding: 8bit\r\n";
 $intestazione .="Return-Path: [email protected] \r\n";
 $intestazione .="From: $mail \r\n";
 $intestazione .="Cc: [email protected]\r\n";

 mail($dest, $oggetto, $msg, $intestazione);
 
Ultima modifica di un moderatore:
  • Like
Reactions: allegria
nello script che hai postato ci sono due invii,
all'inizio e alla fine di questa sequenza
PHP:
if (mail($dest, $oggetto, $msg, html_entity_decode($msg), $intestazione))
{
  echo <<<ECHO
  <h4>Messaggio inviato correttamente, grazie per averci contattato!</h4>
  <a class='button' href='http://www.sito.it/contatti.php'>Indietro</a>
  ECHO;
}
else
{
  echo <<<ECHO
  <h1>Ooops!</h1>
  <p>Si è verificato un problema durante l&rsquo;invio del messaggio.<br />
  Per contattare l&rsquo;assistenza scrivi a <a href="mailto:[email protected]"</a></p>
  ECHO;
}
 $intestazione ="MIME-Version: 1.0\r\n";
 $intestazione .="Content-Type: text/html; charset=iso-8859-1\r\n";
 $intestazione .="Content-Transfer-Encoding: 8bit\r\n";
 $intestazione .="Return-Path: [email protected] \r\n";
 $intestazione .="From: $mail \r\n";
 $intestazione .="Cc: [email protected]\r\n";

 mail($dest, $oggetto, $msg, $intestazione);

Grazie Marino!
 
ciao @marino51
attento alla heredoc
la chiusura si su una linea, ma senza spazi in più davanti
PHP:
<?php
//errore
echo <<<ECHO
    pinco pallo
  ECHO;
echo "pallino";
?>
PHP:
<?php
//giusto
echo <<<ECHO
    pinco pallo
ECHO;
echo "pallino";
?>
 
attento alla heredoc
la chiusura si su una linea, ma senza spazi in più davanti
si, vero, ma l'interesse mio era capire lo script, mettendo in evidenza la doppia "mail"
in realtà ci possono essere altre cose da modificare che non ho segnalato ....
forse è un compito e non dovremmo essere noi a risolverlo
 

Discussioni simili