Visualizzazione risultati 1 fino 2 di 2

Discussione: invio mail da form

  1. #1
    Guest

    Predefinito invio mail da form

    salve ho questo problema in pratica ho questo form costituito da seguenti campi
    nome
    squadra
    schema
    tua mail
    oggetto
    formazione

    l'invio dell'email č perfetto tutto funzionante ma l'email arriva priva delle voci(nome, squadra,ect ect)!l'unica cosa che mi arriva č il contenuto della voce formazione ma pur sempre priva di campo!
    questo č il form inviamail che ho utilizzato
    Codice PHP:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <
    html xmlns="http://www.w3.org/1999/xhtml">
    <
    head>
    <
    meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

    <
    title>Inviare mail con php</title>
    <
    script type="text/javascript"src="jquery.js"></script>
    <script type="text/javascript"src="ajax.js"></script>
    </head>

    <body>
    <div id="response" style="display:none;border:1px solid #ccc:padding:10px;background:#f4f4f4;"></div>
    <form action="mailattachment.php" method="POST" enctype="multipart/form-data">
    <table border="0">
    <tr>
    <td>Nome:</td>
    <td><input type="text" name="nome" value="" id="nome" /></td>
    </tr>
    <tr>
    <td>Cognome:</td>
    <td><input type="text" name="cognome" value="" id="cognome" /></td>
    </tr>
    <tr>
    <tr>
    <td>Citta:</td>
    <td><input type="text" name="citta" value="" id="citta" /></td>
    </tr>
    <td>Sito:</td>
    <td><input type="text" name="sito" value="" id="sito" /></td>
    </tr>
    <tr>
    <td>Tua Mail:</td>
    <td><input type="text" name="mail" value="" id="mail" /></td>
    </tr>
    <tr>
    <td>Oggetto:</td>
    <td><input type="text" name="oggetto" value="" id="oggetto" /></td>
    </tr>
    <tr>
    <td>Messaggio:</td>
    <td><textarea cols="30" rows="6" name="testomessaggio" id="testomessaggio"></textarea></td>
    </tr>
    <tr>
    <td>Allega file:</td>
    <td><input type="file" name="attachment" /></td>
    </tr>
    <tr>
    <td colspan="2"><input type="submit" value="Invia mail" id="sendmail" name="sendmail" /></td>
    <td colspan="2"><input type="reset" value="resetta campi" /></td>
    </tr>


    </table>
    </form>
    </body>
    </html>

    questo il file mailattachment

    Codice PHP:
    <?php
    $testomessaggio
    = $_POST['testomessaggio'];
    $oggetto= 'FANTACALCIO';

    // Creiamo le variabili per il file attachment
    $attachment = $_FILES['attachment']['tmp_name'];
    $attachment_type = $_FILES['attachment']['type'];
    $attachment_name = $_FILES['attachment']['name'];

    $headers = "From:mio sito\\r\nReply-To: mia mail";

    // Verifichiamo se č stato eseguito l'upload del file
    if (is_uploaded_file($attachment))
    {
    // usiamo la funzione fopen e fread per aprire e leggere il file e poi chiudiamo con fclose
    $file = fopen($attachment,'rb');
    $data = fread($file, filesize($attachment));
    fclose($file);

    // Codifichiamo il file adattandolo a base64 usando la funzione chunk_split di php
    $data = chunk_split(base64_encode($data));

    /* Creiamo una variabile per un divisore che deve divir
    dere la parte testuale del messaggio dal file stesso altrimenti riceverete una serie illeggibili di caratteri
    */
    $func_rand = md5(time());
    $mime_boundary = "==Multipart_divisor_x{$func_rand}x";

    // Aggiungo le intestazioni necessarie per l'attachment
    $headers .= "\nMIME-Version: 1.0\n";
    $headers .= "Content-Type: multipart/mixed;\n";
    $headers .= " divisor=\"{$mime_boundary}\"";

    // Definisco il tipo di messaggio (MIME/multi-part)
    $body .= "This is a multi-part message in MIME format.\n\n";

    // Mettiamo il separatore
    $body .= "--{$mime_boundary}\n";

    // Questa č la parte "testuale" del messaggio
    $body .= "Content-Type: text/plain; charset=\"iso-8859-1\"\n";
    $body .= "Content-Transfer-Encoding: 7bit\n\n";
    $body .= "From :" . $mail . "\n\n";
    $body .= $messaggio . "\n\n";
    // Ancora il separatore alla fine del contenuto testuale della mail
    $body .= "--{$mime_boundary}\n";

    // Adesso aggiungiamo l'allegato alla mail
    $body .= "Content-Disposition: attachment;\n";
    $body .= " filename=\"{$attachment_name}\"\n";
    $body .= "Content-Transfer-Encoding: base64\n\n";
    $body .= $data . "\n\n";

    // chiudo con il separatore
    $body .= "--{$mime_boundary}--\n";
    }
    else
    {
    $body = $testomessaggio;
    }

    // Invio la mail
    if (mail($to, $oggetto, $body, $headers))
    {
    echo
    "<em>BRAVO POLLO,MAIL INVIATA</em>";
    }else{
    echo
    "<em>Ci sono problemi, verifica il codice php</em>";
    }
    ?>

    non so forse manca qualcosa per validare i campi o c'č qualcosa di sbagliato lo chiedo a voi non essendo esperto!nel file contenente il php che ho scaricato c'č anche un file ajax e jscript che non si aprono e non so dove inserirli!P.s. le voci del form tipo nome cognome le ho modificato a mio piacimento semplicemente inserendone altre!al posto di mia mail naturalmente ho messo il mio indirizzo stesso dicasi x mio sito!l'ho omesso semplicemente per nn farlo visualizzare in questo topic!help me grazie

  2. #2
    L'avatar di seneca
    seneca non č connesso Super Moderatore
    Data registrazione
    18-12-2004
    Residenza
    la Cittā Eterna
    Messaggi
    8,376

    Predefinito

    Cominciamo con i due file: sono due librerie utili al tuo script. Li devi mettere "accanto" agli altri file.


    -- Aut Roma Aut Nihil!

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •