• User Attivo

    Invio e-mail fatta ma con problemi

    vi mostro la form html e php
    ecco dove inserisco i dati
    <td height="297" bgcolor="#FF6600" align="center">
    <form action="invia_mail.php" method="post" name="scuole" id="scuole">
    <table width="390" border="1" cellpadding="0" cellspacing="0" bordercolor="#CCCCCC">
    <tr align="center">
    <td colspan="3"> <font color="#999999" size="-1" face="Arial">Modulo
    </font></td>
    </tr>
    <tr>
    <td colspan="3"> </td>
    </tr>
    <tr>
    <td width="182"></td>
    <td colspan="2"></td>
    </tr>
    <tr>
    <td align="center"><font face="Arial" size="-1" color="#666666">Scuola</font></td>
    <td colspan="2"><input name="scuola" type="text" id="scuola" maxlength="50"></td>
    </tr>
    <tr>
    <td align="center"><font face="Arial" size="-1" color="#666666">Via</font></td>
    <td colspan="2"><input name="via" type="text" id="via" maxlength="50"></td>
    </tr>
    <tr>
    <td align="center"><font face="Arial" size="-1" color="#666666">Citta</font></td>
    <td colspan="2"><input name="citta" type="text" id="citta" maxlength="50"></td>
    </tr>
    <tr>
    <td align="center" valign="top">
    <font color="#666666" size="-1" face="Arial">Provincia*</font></p></td>
    <td colspan="2" valign="middle">

    <SELECT NAME="provincia">
    <OPTION SELECTED>Seleziona la provincia
    <OPTION>AGRIGENTO
    <OPTION>ALESSANDRIA
    <OPTION>ANCONA
    <OPTION>AOSTA
    <OPTION>AREZZO
    <OPTION>ASCOLI PICENO
    <OPTION>ASTI
    <OPTION>AVELLINO
    <OPTION>BARI
    <OPTION>BELLUNO
    <OPTION>BENEVENTO
    <OPTION>BERGAMO
    <OPTION>BIELLA
    <OPTION>BOLOGNA
    <OPTION>BOLZANO
    <OPTION>BRESCIA
    <OPTION>BRINDISI
    <OPTION>CAGLIARI
    <OPTION>CALTANISSETTA
    <OPTION>CAMPOBASSO
    <OPTION>CASERTA
    <OPTION>CATANIA
    <OPTION>CATANZARO
    <OPTION>CHIETI
    <OPTION>COMO
    <OPTION>COSENZA
    <OPTION>CREMONA
    <OPTION>CROTONE
    <OPTION>CUNEO
    <OPTION>ENNA
    <OPTION>FERRARA
    <OPTION>FIRENZE
    <OPTION>FOGGIA
    <OPTION>FORLI'
    <OPTION>FROSINONE
    <OPTION>GENOVA
    <OPTION>GORIZIA
    <OPTION>GROSSETO
    <OPTION>IMPERIA
    <OPTION>ISERNIA
    <OPTION>LA SPEZIA
    <OPTION>L'AQUILA
    <OPTION>LATINA
    <OPTION>LECCE
    <OPTION>LECCO
    <OPTION>LIVORNO
    <OPTION>LODI
    <OPTION>LUCCA
    <OPTION>MACERATA
    <OPTION>MANTOVA
    <OPTION>MATERA
    <OPTION>MESSINA
    <OPTION>MILANO
    <OPTION>MODENA
    <OPTION>NAPOLI
    <OPTION>NOVARA
    <OPTION>NUORO
    <OPTION>ORISTANO
    <OPTION>PADOVA
    <OPTION>PALERMO
    <OPTION>PARMA
    <OPTION>PAVIA
    <OPTION>PERUGIA
    <OPTION>PESARO
    <OPTION>PESCARA
    <OPTION>PIACENZA
    <OPTION>PISA
    <OPTION>PISTOIA
    <OPTION>PORDENONE
    <OPTION>POTENZA
    <OPTION>PRATO
    <OPTION>RAGUSA
    <OPTION>RAVENNA
    <OPTION>REGGIO CALABRIA
    <OPTION>REGGIO EMILIA
    <OPTION>REPUBBLICA DI SAN MARINO
    <OPTION>RIETI
    <OPTION>RIMINI
    <OPTION>ROMA
    <OPTION>ROVIGO
    <OPTION>SALERNO
    <OPTION>SASSARI
    <OPTION>SAVONA
    <OPTION>SIENA
    <OPTION>SIRACUSA
    <OPTION>SONDRIO
    <OPTION>TARANTO
    <OPTION>TERAMO
    <OPTION>TERNI
    <OPTION>TORINO
    <OPTION>TRAPANI
    <OPTION>TRENTO
    <OPTION>TREVISO
    <OPTION>TRIESTE
    <OPTION>UDINE
    <OPTION>URBINO
    <OPTION>VARESE
    <OPTION>VENEZIA
    <OPTION>VERBANIA
    <OPTION>VERCELLI
    <OPTION>VERONA
    <OPTION>VIBO VALENTIA
    <OPTION>VICENZA
    <OPTION>VITERBO
    </SELECT>

    </p></td>
    </tr>
    <tr>
    <td height="25" align="center"><font face="Arial" size="-1" color="#666666">CAP
    </font></td>
    <td colspan="2"><input name="cap" type="text" id="cap" maxlength="25"></td>
    </tr>
    <tr>
    <td align="center"><font face="Arial" size="-1" color="#666666">Telefono</font></td>
    <td colspan="2"><input name="telefono" type="text" id="telefono" size="30" maxlength="50"></td>
    </tr>
    <tr>
    <td align="center"><font face="Arial" size="-1" color="#666666">FAX</font></td>
    <td colspan="2"><input name="fax" type="text" id="fax" size="30" maxlength="60"></td>
    </tr>
    <tr>
    <td align="center"><font color="#666666" size="-1" face="Arial">e
    mail</font></td>
    <td colspan="2"><input name="email" type="text" id="email" size="30" maxlength="50"></td>
    </tr>
    <tr>
    <td align="center"><font face="Arial" size="-1" color="#666666">Dirigente
    Scolastico</font></td>
    <td colspan="2"><input name="dirigente" type="text" id="dirigente" size="30" maxlength="25"></td>
    </tr>
    <tr>
    <td align="center"><font face="Arial" size="-1" color="#666666">Classe</font></td>
    <td colspan="2"><input name="classe" type="text" id="classe" size="30" maxlength="30"></td>
    </tr>
    <tr>
    <td align="center"><font face="Arial" size="-1" color="#666666">Sezione</font></td>
    <td colspan="2"><input name="sezione" type="text" id="sezione" size="30" maxlength="30"></td>
    </tr>
    <tr>
    <td align="center"> </td>
    <td colspan="2" rowspan="2">

     </td>
    </tr>
    <tr>
    <td> </td>
    </tr>
    <tr>
    <td colspan="3" align="left"><font color="#666666" size="-1" face="Arial">
    Docente Responsabile </font>
    <input name="docente" type="text" id="docente" size="26" maxlength="15"></td>
    </tr>
    <tr>
    <td colspan="3" align="center"></td>
    </tr>
    <tr>
    <td colspan="2">Allega file:  <input type="file" name="allegato" /></td>
    </tr>
    <tr>
    <td colspan="3"><div align="center"><font size="-2" face="Arial"><font color="#666666">Informativa
    art. 13 D.lgs. 196/2003
    Ai sensi dell'art. 13 del D.lgs. n.196/2003, Le forniamo, quindi,
    le seguenti informazioni:

    • I dati da Lei forniti verranno trattati esclusivamente per
      finalità concernenti l'attività di

    • Il conferimento dei dati è facoltativo e l'eventuale
      rifiuto a fornire tali dati non ha alcuna conseguenza.

    • I dati da Lei forniti non saranno oggetto di diffusione.</font>
      </font></div></td>
      </tr>
      <tr>
      <td colspan="2" align="right"> <input name="invia modulo" type="submit" id="invia2" value="Invia">
      </td>
      <td align="center" width="78"> <input name="reimposta" type="reset" id="reimposta2" value="reimposta"></td>
      </tr>
      </table>
      </form>
      <form method="POST" action="invia_mail.php" onsubmit="return FrontPage_Form2_Validator(this)" language="JavaScript" name="FrontPage_Form2" enctype="multipart/form-data">
      <div align="center">
       </div>
      </form>
      </td>
      </tr>
      </table>
      </div>
      ECCO IL PHP DI INVIO

      <?PHP
      $scuola = $_POST['scuola'];
      $via = $_POST['via'];
      $citta= $_POST['citta'];
      $provincia = $_POST['provincia'];
      $cap = $_POST['cap'];
      $telefono = $_POST['telefono'];
      $fax= $_POST['fax'];
      $email = $_POST['email'];
      $digigente = $_POST['dirigente'];
      $classe = $_POST['classe'];
      $sezione= $_POST['sezione'];
      $docente = $_POST['docente'];
      $destinatario = 'miaemail';
      //$mittente = "Da: " . $e_mail;

    $messaggio = "ARGOMENTO: $argomento\n\nMessaggio: $messaggio";
    // Valorizzo le variabili relative all'allegato
    $allegato = $_FILES['allegato']['tmp_name'];
    $allegato_type = $_FILES['allegato']['type'];
    $allegato_name = $_FILES['allegato']['name'];
    // Creo 2 variabili che riempirò più avanti...
    $headers = "From: " . $e_mail;
    $msg = "";
    // Verifico se il file è stato caricato correttamente via HTTP
    // In caso affermativo proseguo nel lavoro...
    if (is_uploaded_file($allegato))
    {
    // Apro e leggo il file allegato
    $file = fopen($allegato,'rb');
    $data = fread($file, filesize($allegato));
    fclose($file);
    // Adatto il file al formato MIME base64 usando base64_encode
    $data = chunk_split(base64_encode($data));
    // Genero il "separatore"
    // Serve per dividere, appunto, le varie parti del messaggio.
    // Nel nostro caso separerà la parte testuale dall'allegato
    $semi_rand = md5(time());
    $mime_boundary = "==Multipart_Boundary_x{$semi_rand}x";

    // Aggiungo le intestazioni necessarie per l'allegato
    $headers .= "\nMIME-Version: 1.0\n";
    $headers .= "Content-Type: multipart/mixed;\n";
    $headers .= " boundary="{$mime_boundary}"";
    // Definisco il tipo di messaggio (MIME/multi-part)
    $msg .= "This is a multi-part message in MIME format.\n\n";
    // Metto il separatore
    $msg .= "--{$mime_boundary}\n";
    // Questa è la parte "testuale" del messaggio
    $msg .= "Content-Type: text/plain; charset="iso-8859-1"\n";
    $msg .= "Content-Transfer-Encoding: 7bit\n\n";
    $msg .= $scuola . "\n\n";
    // Metto il separatore
    $msg .= "--{$mime_boundary}\n";
    // Aggiungo l'allegato al messaggio
    $msg .= "Content-Disposition: attachment;\n";
    $msg .= " filename="{$allegato_name}"\n";
    $msg .= "Content-Transfer-Encoding: base64\n\n";
    $msg .= $data . "\n\n";
    // chiudo con il separatore
    $msg .= "--{$mime_boundary}--\n";
    }
    else
    {
    $msg = $scuola;
    }
    if (mail($destinatario, $oggetto, $msg, $headers))
    {
    echo "<p>Mail inviata con successo!</p>";
    }else{
    echo "<p>Errore!</p>";
    }
    ?>

    come mai nn mi appare ne l'allegato ne niente mi arriva l'email vuota??


  • User

    Nel codice che utilizzo io definisco header e body nella maniera seguente e tutto funziona correttamente:

    [PHP]
    $destinatario = "xxx";
    $subject = "yyy";
    $mittente = ""zzz" [email protected]";
    $message = "testo del messaggio";

    $attach = $_FILES['attach']['tmp_name'];
    $filetype = $_FILES['attach']['type'];
    $nomeAllegato = $_FILES['attach']['name'];

    if (is_uploaded_file($attach)) {
    $filez = fopen($attach, "r");
    $contents = fread($filez, filesize($attach));
    $encoded_attach = chunk_split(base64_encode($contents));
    fclose($filez);

    // CREO L'INTESTAZIONE
    $header = "From: $mittente\n";
    $header .= "X-Mailer: Sismail Web Email Interface\n";
    $header .= "MIME-version: 1.0\n";
    $header .= "Content-type: multipart/mixed;\n";
    $header .= " boundary="Message-Boundary"\n";
    $header .= "Content-transfer-encoding: 7BIT\n";
    $header .= "X-attachments: $nomeAllegato";

    // CREO IL MESSAGGIO
    $body = "--Message-Boundary\n";
    $body .= "Content-type: text/plain; charset=iso-8859-1\n";
    $body .= "Content-transfer-encoding: 7BIT\n";
    $body .= "Content-description: Mail message body\n\n";
    $body .= $message . "\n\n";
    $body .= "\n\n--Message-Boundary\n";
    $body .= "Content-type: $filetype; name="$nomeAllegato"\n";
    $body .= "Content-Transfer-Encoding: BASE64\n";
    $body .= "Content-disposition: attachment; filename="$nomeAllegato"\n\n";
    $body .= "$encoded_attach\n";
    $body .= "--Message-Boundary--\n";

    @mail($destinatario, $subject, $body, $header);
    }
    [/PHP]