Visualizzazione risultati 1 fino 11 di 11

Discussione: creare un form per invio di allegati /testo nella casella di posta

  1. #1
    Guest

    Question creare un form per invio di allegati /testo nella casella di posta

    salve
    ho cercato tutta oggi, ma nn ho trovato... c'è per caso un modo per allegare un file di dimensione nn oltre 4mb per inviarlo con un form nella casella di posta? se si me lo potete dire...perchè quello che voglio far io è un form che invia sia testo che allegati (immagini) grazie

  2. #2
    Guest

    Predefinito

    il codice è questo (l'avevo postato in un'altra discussione un po' di tempo fa...):
    Codice HTML:
    <form action="mail.php" enctype="multipart/form-data" method="post" name="form1" id="form1" target="_self">
    
    		Nome: <input name="nome" type="text" id="nome" size="41" style="background-color: #EDEDED; border: thin groove #D6D6D6;"><br>
    		E-mail: <input type="text" name="email" id="email" size="41" style="background-color: #EDEDED; border: thin groove #D6D6D6;"><br>
    		<br>
    		<input name="all" type="file" id="all"><br><br> 
    		<input type="reset" name="Submit" value="reset" style="background-color: #FF9933; color: #3C0000; border: thin double Black;">
    		<input type="submit" name="Submit2" value="invia" style="background-color: #669933; color: #FFFF99; border: thin solid Black;" >
    </form>
    mail.php:
    Codice PHP:
    <?php
    if(isset($_POST['email']) && isset($_POST['nome'])){
    $header="";
    $msg="";
    $boundary='--' . md5( uniqid(time()) );
    $ctencoding="8bit";
    $subject="Invio allegato";
    $body="In allegato il documento";
    $to="tuamail@mail.it";
    $from=$_POST['email'];
    $fromname=$_POST['nome'];
    $ctype="application/octet-stream";
    $basename=$_FILES['all']['tmp_name'];
    $name=$_FILES['all']['name'];

    $header.="From: \"$fromname\" <$from>\nReturn-Path: $from\nX-Priority: 3\nTo: $to\n";
    $header.="Mime-Version: 1.0\nContent-Type: multipart/mixed;\n boundary=\"$boundary\"\n";
    $header.="Content-Transfer-Encoding: 8bit\n";

    $msg .="This is a multi-part message in MIME format.\n--$boundary\n";
    $msg .= "Content-Type: text/plain; charset=iso-8859-1\n";
    $msg .= "Content-Transfer-Encoding: 8bit\n\n" . $body ."\n";

    $msg .="--$boundary\nContent-type: $ctype;\n name=\"$name\"\n";
    $msg .="Content-Transfer-Encoding: base64\nContent-Disposition: attachment\n filename=\"$name\"\n";
    $linesz= filesize( $basename)+1;
    $fp= fopen( $basename, 'r' );
    $content = chunk_split(base64_encode(fread( $fp, $linesz)));
    fclose($fp);
    $msg .= chr(13) . chr(10).$content;

    $result = @mail($to,$subject,$msg."\n",$header);

    if(
    $result){

    echo
    "<p>Il tuo messaggio &egrave; stato inoltrato con successo!</p><p>Grazie!</p>";
    }else{

    echo
    "<p>E' stato riscontrato un errore sul server.<br>Impossibile inviare il messaggio.</p><p>Riprova pi&ugrave; tardi.</p>";
    }

    }else{
    echo
    "<p>Non hai compilato tutti i campi del modulo!</p><p>Campi mancanti:</p>";
    if(!isset(
    $_POST['nome'])){ echo "Nome<br>";}
    if(!isset(
    $_POST['email'])){ echo "Indirizzo e-mail<br>";}
    }
    ?>
    N.B.
    il controllo sulle dimensioni del file non l'ho messo perchè per un'impostazione dei server di altervista non si posso uploadare file maggiori di 2-3mb (non ricordo)
    Ultima modifica di SoulHome : 27-09-2006 alle ore 14.19.00

  3. #3
    Guest

    Unhappy

    grazie...cmq nn l'avevo trovato ho giarto migliaia di conversazioni cmq...volevo uno unico anche con testo...

    Però ho provato da una amica arriva subito da me e un'altra persona nn arriva subito cioè non arriva neanche...vediamo domani...ma nn credo ce arrivi
    Ultima modifica di spacevertigo : 25-09-2006 alle ore 22.37.56

  4. #4
    Guest

    Predefinito

    se invii una mail usando una semplice funzione mail() all'altra persona gli arriva?
    i server di altervista alcune hanno dei problemi nel recapitare le email ad alcuni host (tipo hotmail) che spesso le catalogano come spam

  5. #5
    Guest

    Predefinito

    si ho visto...cmq il problema nn è quello...ho provato a mandare qualcosa anche di poco...però nn arriva niente...ho appena guardato mi ero mandato 3-4cose e mi è arrivata solo quello che mi ha mandato la erica e basta...

  6. #6
    Guest

    Predefinito

    escludo errori nello script perchè l'ho usato in passato senza problemi e perchè un'email comuqnue ti è arrivata...quindi il problema risiede o nel server dia ltervista o in quello che deve ricevere le email...per leggerle usi un client di posta o lo fai via browser? il dominio della mail qual è? hai controllato la cartella della posta indesiderata?

  7. #7
    Guest

    Predefinito

    io uso hotmail...lo guardo via web perchè ho già un servizio di posta...la posta indesiderata ora è vuota...cmq può cambiare se uno usa alice oppure altro?

  8. #8
    Guest

    Predefinito

    gli account di hotmail hanno problemi con altervista credo sia questo il motivo...

  9. #9
    Guest

    Predefinito

    con yahoo?oppure libero...hanno gli stessi problemi?

  10. #10
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Con Yahoo ti posso confermare che non ci sono problemi.
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  11. #11
    servicristovivo non è connesso Neofita
    Data registrazione
    14-03-2011
    Messaggi
    7

    Predefinito non mi arriva l'allegato!!!

    ho provato in tutti i modi ... non arriva l'allegato io ho l'accaunt con gmail
    invio la pagina php se qualcuno può aiutarmi RINGRAZIO MOLTO !!!
    Codice PHP:
    <html>
    <head>
    <title>Untitled document</title>
    </head>
    <body>
    <?php
    if(isset($_POST['email']) && isset($_POST['nome'])){
    $header="";
    $msg="";
    $boundary='--' . md5( uniqid(time()) );
    $ctencoding="8bit";

    $from=$_POST['email'];
    $body="PRENOTAZIONE $_POST[nome] $_POST[cognome] $_POST[via] $_POST[civ] $_POST[cap] $_POST[citta] $_POST[prov], tel
    $_POST[telefono], cel $_POST[cel], $_POST[email]";
    $subject="$_POST['note'];
    $destinatario=$_POST['destinatario'];

    $to="volirosa@gmail.com";

    $fromname=$_POST['nome'];
    $ctype="application/octet-stream";
    $basename=$_FILES['destinatario']['tmp_name'];
    $name=$_FILES['destinatario']['name'];

    $header.="From: \"$fromname\" <$from>\nReturn-Path: $from\nX-Priority: 3\nTo: $to\n";
    $header.="Mime-Version: 1.0\nContent-Type: multipart/mixed;\n boundary=\"$boundary\"\n";
    $header.="Content-Transfer-Encoding: 8bit\n";

    $msg .="This is a multi-part message in MIME format.\n--$boundary\n";
    $msg .= "Content-Type: text/plain; charset=iso-8859-1\n";
    $msg .= "Content-Transfer-Encoding: 8bit\n\n" . $body ."\n";

    $msg .="--$boundary\nContent-type: $ctype;\n name=\"$name\"\n";
    $msg .="Content-Transfer-Encoding: base64\nContent-Disposition: attachment\n filename=\"$name\"\n";
    $linesz= filesize( $basename)+1;
    $fp= fopen( $basename, 'r' );
    $content = chunk_split(base64_encode(fread( $fp, $linesz)));
    fclose($fp);
    $msg .= chr(13) . chr(10).$content;

    $result = @mail($to,$subject,$msg."\n",$header);

    if(
    $result){

    echo
    "<p>Il tuo messaggio &egrave; stato inoltrato con successo!</p><p>Grazie!</p>";
    }else{

    echo
    "<p>E' stato riscontrato un errore sul server.<br>Impossibile inviare il messaggio.</p><p>Riprova pi&ugrave; tardi.</p>";
    }

    }
    echo
    "<p>errore</p>";
    }
    ?>
    </body>
    </html>

Regole di scrittura

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