Visualizzazione dei risultati da 1 a 7 su 7

Discussione: Allegato Email

  1. #1

    Allegato Email

    Buongiorno a tutti, ho un sito realizzato interamente in html dove tra le varie pagine è presente quella dei contatti dove l'utente può compilare un form ed inviarlo tramite mail.
    Chi mi sa dire come poter agguingere l'opzione di poter far allegare anche dei file????
    Si riesce ad avere il codice possibilmente??

  2. #2
    codice:
    <label for="file">Allegato</label>
    <input type="file" id="file" name="file" />
    CODENCODE \ Branding \ Design \ Marketing
    www.codencode.it

  3. #3
    Ok grazie codencode però il file non viene allegato in questo modo, così ottengo il comando per allegare il file ma non per inviarlo.
    Cercherò di essere un pò più chiaro:
    Questo di seguito è il codice html del form:
    codice:
     
    <form id="form1" name="form1" method="post" class="corpo-testo" action="forminvio.php">
    		 <table width="450" border="0">
    		    <tr>
                                 <td>Nome e Cognome *</td>
    	                <td><input type="text" name="nome" id="nome" class="corpo-testo"  size="35"/></td>
    			</tr>
    			<tr>
    			  <td>Ragione Sociale</td>
    			  <td><input type="text" name="ragione_sociale" id="ragione_sociale" class="corpo-testo" size="35"/></td>
    			</tr>
    			<tr>
    			  <td>Partita Iva</td>
    			  <td><input type="text" name="partita_iva" id="partita_iva" class="corpo-testo" size="35"/></td>
    			</tr>
    			<tr>
    			  <td>Email *</td>
    			  <td><input type="text" name="email" id="email" class="corpo-testo" size="35"/></td>
    			</tr>
    			<tr>
    			  <td>Indirizzo</td>
    			  <td><input type="text" name="indirizzo" id="indirizzo" class="corpo-testo" size="35"/></td>
    			</tr>
    			<tr>
    			  <td>Località</td>
    			  <td><input type="text" name="località" id="località" class="corpo-testo" size="35"/></td>
    			</tr>
    			<tr>
    			  <td>Provincia</td>
    			  <td><input type="text" name="provincia" id="provincia" class="corpo-testo" size="5"/></td>
    			</tr>
    			<tr>
    			  <td>Telefono *</td>
    			  <td><input type="text" name="telefono" id="telefono" class="corpo-testo" size="35"/></td>
    			</tr>
    			<tr>
    			  <td>Oggetto</td>
    			  <td><select name="oggetto" size="1" class="corpo-testo" id="oggetto">
                      <option>Informazione</option>
                      <option>Preventivo</option>	  
                      </select>			  </td>
    			</tr>
    			<tr>
    			  <td>Messaggio</td>
    			  <td><textarea name="messaggio" cols="31" rows="4" class="corpo-testo"></textarea></td>
    			</tr>
    			<tr>
    			  <td><label for="file">Allegato</label></td>
                  <td><input type="file" id="file" name="file" /></td>
                </tr>
    			<tr>
    			  <td>Contatti</td>
    			  <td><input type="checkbox" name="contatto" class="corpo-testo" value="desidero essere ricontattato" checked>
    			  desidero essere ricontattato</td>
    			</tr>
    			<tr>
    			  <td>Informativa sulla privacy</td>
    			  <td><textarea name="privacy" class="corpo-testo" cols="30" rows="4" readonly="readonly">Il/La sottoscritto/a, acquisite le informazioni di cui dell’art. 7 del D. Lgs. 196/2003, ai sensi dell’articolo 13 della legge stessa, conferisce il proprio consenso al trattamento dei dati.</textarea></td>
    			</tr>    
    			<tr>
                  <td></td>
                  <td><input type="submit" name="invia" id="invia" value="Invia" />
                      <input type="reset" name="reset" id="reset" value="Reset" /></td>
                </tr>         
    		  </table>
            </form>
    Come vedi ho inserito quanto tu mi hai spedito.
    Di seguito ti invio anche il file forminvio.php che legge quando è inviato il form:
    Codice PHP:
    <?php

    $to
    ="mia mail";

    $nome $_POST['nome'];
    $ragione_sociale $_POST['ragione_sociale'];
    $partita_iva $_POST['partita_iva'];
    $email $_POST['email'];
    $nome $_POST['nome'];
    $indirizzo $_POST['indirizzo'];
    $località $_POST['località'];
    $provincia $_POST['provincia'];
    $telefono $_POST['telefono'];
    $oggetto $_POST['oggetto'];
    $messaggio $_POST['messaggio'];
    $contatto $_POST['contatto'];

    if(
    $nome == ""){echo"manca il nome!";exit(); }
    if(
    $email == ""){echo"manca la mail!";exit(); }
    if(
    $telefono == ""){echo"manca il telefono!";exit(); }

    $messaggio=$_POST['nome']."\n ".$_POST['ragione_sociale']." \n ".$_POST['partita_iva']." \n ".$_POST['email']." \n ".$_POST['indirizzo']." \n ".$_POST['località']." \n ".$_POST['provincia']." \n ".$_POST['telefono']." \n ".$_POST['oggetto']." \n ".$_POST['messaggio']." \n ".$_POST['contatto'];

    mail($to,"Contatto dal sito Lattoneria Zucchelli Mauro",$messaggio"From: $email");

    header("Location:contatti_1.html");
    ?>
    Cosa devo modificare nel file forminvio.php se ovviamente devo modificare qualche cosa??
    Grazie dell'aiuto e spero di essere stato un pò più chiaro.

  4. #4
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,667
    Originariamente inviato da andrea2768
    Cosa devo modificare nel file forminvio.php se ovviamente devo modificare qualche cosa??
    è un problema php: sposto

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    35
    Io ho avuto il tuo stesso problema e ho dovuto usare una classe php esterna per inviare correttamente un file e ho dovuto salvare il file temporaneamente sul server per poi controllarlo e spedirlo.

    Non so se ci sia un metodo più diretto, però puoi provare a cercare una classe php che ti agevoli l'invio delle mail complesse con allegati (ce ne sono un'inifinità sul web).

    Non posso postarti il codice perchè uso un framework aziendale e protetto da alcuni diritti.
    Spero di esserti stato comunque di aiuto.

  6. #6
    No sinceramente non ho capito quanto mi hai scritto.
    C'è qualcuno che è in grado gentilmente di aiutarmi??
    Grazie tante

  7. #7
    Ti posto le istruzioni che potrebbero fare al caso tuo, ovviamente lo devi adeguare alle tue esigenze. In rete si trovano molti esempi, anche con descrizioni dettagliate, spero che il codice postato ti possa essere utile.
    // $allegato è il campo file del form
    $allegato = $_FILES ['file'];
    if ($allegato ['tmp_name'] !== null && $allegato ['tmp_name'] !== "") {
    /***** Istruzioni per l'allegato *****/
    if (is_uploaded_file($allegato ['tmp_name'])) {
    $separatore = "==Multipart_Boundary_x" . md5(mt_rand()) . "x";
    /***** lettura file allegato *****/
    $file = fopen($allegato ['tmp_name'],'rb');
    $data = fread($file,filesize($allegato ['tmp_name']));
    fclose($file);
    /*********************************/
    $testoEmail .= "<html><body>";
    $testoEmail ="TESTO EMAIL IN FORMATO HTML";
    $testoEmail .= "</body></html>";
    $data = chunk_split(base64_encode($data));
    /***** creazione header messaggio *****/
    $headers = "From: " . $nominativo;
    $headers .= "<EMAIL MITTENTE>\n";
    $headers .= "MIME-Version: 1.0\n";
    $headers .= "Content-Type: multipart/mixed;\n";
    $headers .= " boundary=\"" . $separatore . "\n";
    /**************************************/
    /***** creazione del corpo del mesaggio e aggiunta dell'allegato *****/
    $testoConAllegato = "--" . $separatore . "\n" . "Content-Type: text/html; charset=\"iso-8859-1\"\n";
    $testoConAllegato .= "Content-Transfer-Encoding: 7bit\n\n" . $testoEmail . "\n\n";
    $testoConAllegato .= "--" . $separatore . "\n" . "Content-Type: " . $allegato ['type'] . ";\n";
    $testoConAllegato .= " name=\"" . $allegato ['name'] . "\"\n" . "Content-Transfer-Encoding: base64\n\n";
    $testoConAllegato .= $data . "\n\n" . "--" . $separatore . "--\n";
    /************************************************** *******************/
    }
    mail($indirizzoEmail,$oggetto,$testoConAllegato,$h eaders);
    CODENCODE \ Branding \ Design \ Marketing
    www.codencode.it

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.