Visualizzazione dei risultati da 1 a 7 su 7

Discussione: mail con allegati

  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2004
    Messaggi
    234

    mail con allegati

    Ciao a tutti.
    Lo script presente in questo articolo:

    http://freephp.html.it/articoli/view_articolo.asp?id=70

    per inviare mail con allegati non mi funziona.
    Premetto che l'ho copiato pari pari, sia il form che il .php e, diciamo che come form mail funziona perfettamente ma l'allegato (che è quello che sto cercando di fare da due settimane senza risultati) no, o meglio, arriva a destinazione ma è come se il file fosse corrotto, non si apre, per esempio un .wav o un .gif.

    Cosa devo cambiare per farlo funzionare?

    grazie mille - ciao

  2. #2
    Utente di HTML.it L'avatar di Valakov
    Registrato dal
    Mar 2004
    Messaggi
    112
    anche a me non funzionava..
    poi ho trovato un altro script che funge
    <?php
    $contenuto = trim(stripslashes($_POST['Contenuto']));
    $mess="<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">
    <HTML><HEAD>
    <META http-equiv=Content-Type content=\"text/html; charset=iso-8859-1\">
    <STYLE>
    H5 {text-align: justify; text-decoration: none; color: #333333; font-size: 12px; font-family: Arial}
    A:link, A:visited, A:hover { color: #FFcc00 }

    </STYLE>
    </HEAD>
    <BODY bgColor=#ffffff link=#333333 alink=#333333 vlink=#333333>
    <DIV><h5>$contenuto</h5>
    </BODY></HTML>
    ";

    /*Nella variabile $mess va inserito tutto il codice html che comporrà il corpo dell'email che si vuole inviare. Come nell'esempio si possono utilizzare anche i fogli di stile.*/
    //crea@oneup.it
    //valakov1979@yahoo.it

    $e="nome@mail.it"; /*Inserire l'indirizzo email a cui si vuole spedire l'email*/
    $ogg="xxxxx"; /*Inserire l'oggetto dell'email da spedire*/
    $mittente="nome@mail.it"; /*Inserire l'indirizzo email che verrà visulaizzato come mittente dell'email*/
    $reply="nome@mail.it"; /*Inserire l'indirizzo email a cui verranno inviate le risposte all'email inviata*/

    $titolo= $_FILES["allegato"]["name"]; /*Inserire il nome che si vuole dare all'allegato*/
    $f= $_FILES["allegato"]["tmp_name"]; /*Inserire l'indirizzo del file che si vuole inviare come allegato*/
    $filetype=$_FILES["allegato"]["type"]; /*Inserire il formato MIME del file da allegare*/

    /*Non modificare nulla al di sotto di questa linea*/

    $intestazioni = "From: $mittente\nReply-To: $reply\nX-Mailer: Sismail Web Email Interface\nMIME-version: 1.0\nContent-type: multipart/mixed;\n boundary=\"Message-Boundary\"\nContent-transfer-encoding: 7BIT\nX-attachments: $titolo";

    $body_top = "--Message-Boundary\n";
    $body_top .= "Content-type: text/html; charset=iso-8859-1\n";
    $body_top .= "Content-transfer-encoding: 7BIT\n";
    $body_top .= "Content-description: Mail message body\n\n";

    $msg_body = $body_top . $mess;

    $filez = fopen($f, "r");
    $contents = fread($filez, filesize($f));
    $encoded_attach = chunk_split(base64_encode($contents));
    //echo $encoded_attach;
    fclose($filez);

    $msg_body .= "\n\n--Message-Boundary\n";
    $msg_body .= "Content-type: $filetype; name=\"$titolo\"\n";
    $msg_body .= "Content-Transfer-Encoding: BASE64\n";
    $msg_body .= "Content-disposition: attachment; filename=\"$titolo\"\n\n";
    $msg_body .= "$encoded_attach\n";
    $msg_body .= "--Message-Boundary--\n";

    if(!(@mail($e,$ogg,$msg_body, $intestazioni))){
    print "<H5>Invio della email fallito.</H5>";}
    else
    print "La tua foto è stata inviata correttamente";?>

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2004
    Messaggi
    234
    Finalmente!!!!

    Funziona bene, ho provato un .gif ed è arrivato integro, ora provo i .wav

    Era due settimane che provavo script di tutti i tipi ma niente.

    Grazie - ciao

  4. #4
    Utente di HTML.it L'avatar di Gumble
    Registrato dal
    Jun 2004
    Messaggi
    1,313
    ma dove c'é scritto "inserire l'indirizzo del file che si vuole allegare..." cosa bisogna mettere?

    io ho messo un form con un campo file per scegliere il file... ma cosa devo mettere esattamente prima di quel commento????
    alcool: la causa e la soluzione di tutti i problemi

  5. #5
    Utente di HTML.it L'avatar di Gumble
    Registrato dal
    Jun 2004
    Messaggi
    1,313
    ho risolto... il problema non era lì: avevo sbagliato a scrivere il nome di una variabile...

    ciao ciao
    alcool: la causa e la soluzione di tutti i problemi

  6. #6
    Utente di HTML.it
    Registrato dal
    Oct 2000
    Messaggi
    350
    Scusate, avrei un problema relativo a questo codice che suggertite.
    Io ho provato ad usarlo.
    Funziona nel senso che mi invia la mail, ma con un allegato "attachment.txt" vuoto, indipendentemente dalla tipologia di file che invio.
    A questo punto mi viene un dubbio. Dove c'è scritto "Inserire l'indirizzo del file" cosa bisogna inserire? Una cartella locale o remota?
    Magari ho frainteso l'utilizzo che bisogna fare di questo script.
    Ciò che vorrei fare io è dare la possibilità attraverso un form di un sito di inviare un allegato insieme ai dati che ho compilato.
    Grazie.

    Elena
    pap

  7. #7
    Utente di HTML.it
    Registrato dal
    Oct 2000
    Messaggi
    350
    up
    pap

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 © 2025 vBulletin Solutions, Inc. All rights reserved.