• User Newbie

    form php non funziona

    ho messo il form php su un sito e mi da "email inviata con successo" ma non arriva nulla.

    lo stesso sito su un altro dominio, il form funziona e le email mi arrivano.
    come mai?
    qualcuno può aiutarmi?

    per me è il server del dell'hosting sul quale vi è il dominio.

    saluti


  • User Attivo

    Infatti credo proprio di si 😉


  • ModSenior

    Ciao fabioinca,
    bisogna vedere lo script, a seconda degli header con il quale viene spedito può essere contrassegnato come spam e quindi eliminato direttamente o inserito nelle cartelle della posta indesiderata.


  • User Newbie

    hai ragione e in effetti è proprio così.
    come si risolve il problema?

    saluti


  • ModSenior

    La prima cosa da fare è verificare che il mittente sia un indirizzo del tipo @dominio.ext dove dominio.ext è l'indirizzo del sito, cioè non dovresti mettere come mittente un indirizzo @hotmail ad esempio.


  • User Newbie

    questo è il codice php, dove si inserisce il mittente?
    a me è sempre funzionato così.

    <?php
    $nome = (isset($_POST["nome"])) ? $_POST["nome"] : "";
    $azienda = (isset($_POST["azienda"])) ? $_POST["azienda"] : "";
    $citta = (isset($_POST["citta"])) ? $_POST["citta"] : "";
    $telefono = (isset($_POST["telefono"])) ? $_POST["telefono"] : "";
    $fax = (isset($_POST["fax"])) ? $_POST["fax"] : "";
    $email = (isset($_POST["email"])) ? $_POST["email"] : "";
    $messaggio = (isset($_POST["messaggio"])) ? $_POST["messaggio"] : "";
    $autorizzazione = (isset($_POST["autorizzazione"])) ? $_POST["autorizzazione"] : "";

    /* destinatari */
    

    $destinatari="[email protected], [email protected]"; // usare la virgola per più destinatari
    /* $destinatari.=", [email protected]";*/

    /* oggetto */
    $oggetto = "Contatto - Cliente:";

    /* messaggio */
    $messaggio = '<html >
    <head>
    </head>

    <body>
    <table cellpadding="5px" style=" width:300px; font-family:Verdana, Arial, Helvetica, sans-serif; font-size:11px; border:1px solid #000">
    <tr>
    <td>nome</td>
    <td>'.$nome.'</td>
    </tr>
    <tr>
    <td>azienda</td>
    <td>'.$azienda.'</td>
    </tr>
    <tr>
    <td>citta</td>
    <td>'.$citta.'</td>
    </tr>
    <tr>
    <td>telefono</td>
    <td>'.$telefono.'</td>
    </tr>
    <tr>
    <td>fax</td>
    <td>'.$fax.'</td>
    </tr>
    <tr>
    <td>email</td>
    <td>'.$email.'</td>
    </tr>
    <tr>
    <td>messaggio</td>
    <td>'.$messaggio.'</td>
    </tr>
    <tr>
    <td>autorizzazione</td>
    <td>'.$autorizzazione.'</td>
    </tr>

    </table>
    </body>
    </html>';

    echo("$messaggio");

    echo("$oggetto");
    /* Per inviare email in formato HTML, si deve impostare l'intestazione Content-type. */
    $intestazione = "MIME-Version: 1.0\r\n";
    $intestazione .= "Content-type: text/html; charset=iso-8859-1\r\n";

    /* intestazione From */
    $intestazione .= "From: ".$email;

    /* ed infine l'invio */
    //mail($destinatari, $oggetto, $messaggio, $intestazione);

    $risultato="";
    if( @mail($destinatari, $oggetto, $messaggio, $intestazione)) $risultato= "e-mail inviata con successo!";
    else $risultato = "errore nell'invio dell'e-mail!";

    echo($risultato);

    ?>