Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    53

    Allegato di una mail...non allegato

    Ciao a tutti, è mai capitato a nessuno che nell'invio di un amail con allegato in luogo dell'allegato vi venisse una sbarellata di simboli e codici? (in pratica l'allegato non codificato desumo)
    Questo avviene all'interno del messaggio ovviamente.
    Penso che il problema stia nei vari content-ecc-ecc m averamente non so più dove :x:x

    A qualcuno è capitato? Ma soprattutto..come ha risolto?
    thank's
    _______________________________
    ...Ma perchè non ho continuato a fare il dj nei villaggi turistici?

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    154
    Anche a me dava questo problema. Io adesso uso questo script:

    Codice PHP:
    <?php

    // RENDIAMO LO SCRIPT COMPATIBILE CON LE VERSIONI DI PHP < 4.1.0
    if(!isset($_POST)) $_POST $HTTP_POST_VARS;
    if(!isset(
    $_FILES)) $_FILES $HTTP_POST_FILES;

    // RIPULIAMO I VARI CAMPI DEL MODULO
    $Destinatario trim($_POST["Destinatario"]);
    $Soggetto trim(stripslashes($_POST["Soggetto"]));
    $Contenuto trim(stripslashes($_POST["Contenuto"]));

    // ASSEGNIAMO A VARIABILI PIU' LEGGIBILI, LE PROPRIETA' DELL'ALLEGATO
    $attach $_FILES["allegato"]["tmp_name"];
    $file_name $_FILES["allegato"]["name"];
    $file_type $_FILES["allegato"]["type"];
    $file_size $_FILES["allegato"]["size"];

    // DELIMITATORE
    $boundary md5(uniqid(microtime()));

    // APRIAMO L'ALLEGATO PER LEGGERLO E CODIFICARLO
    $file = @fopen($attach"r");
    $contents = @fread($file$file_size);
    $encoded_attach chunk_split(base64_encode($contents));
    @
    fclose($file);

    // INTESTAZIONI DELLA MAIL
    $mail_headers .= "MIME-version: 1.0\n";
    $mail_headers .= "Content-type: multipart/mixed; boundary=\"$boundary\"";
    $mail_headers .= "X-attachments: $file_name\n";

    // COSTRUIAMO IL CORPO DELLA MAIL
    $mail_body "--$boundary\n";
    $mail_body .= "Content-Type: text/html; charset=us-ascii\n";
    $mail_body .= "Content-Transfer-Encoding: 7bit\n\n";
    $mail_body .= "$Contenuto\n\n";
    $mail_body .= "--$boundary\n";
    $mail_body .= "Content-type: $file_type; name=\"$file_name\"\n";    
    $mail_body .= "Content-Transfer-Encoding: base64\n";
    $mail_body .= "$encoded_attach\n";
    $mail_body .= "--$boundary--\n";

    // INVIO DELLA MAIL
    if(@mail($Destinatario$Soggetto$mail_body$mail_headers)) { // SE L'INVIO È ANDATO A BUON FINE...

    echo "La mail è stata inoltrata con successo.";

    } else {
    // ALTRIMENTI...

    echo "Si sono verificati dei problemi nell'invio della mail.";

    }

    ?>
    Ovviamente con il form per i dati. Questo mi funziona

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    53
    ciao, così effettivamente (ovviamente adattandolo alle mie esigenze) funziona anche a me. L'unica cosa è che l'allegato arriva in un formato non compatibile dovrebbe essere convertito. Idee?
    _______________________________
    ...Ma perchè non ho continuato a fare il dj nei villaggi turistici?

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    154
    In che senso "non compatibile"?

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    53
    Nel senso che se anche cambio set di caratteri non mi si visualizza bene. In word cerca di convertirmelo ma senza successo mentre il pdf mi dice che il file è danneggiato o non è stato possibile decodificarlo.
    Considera che io devo far allegare solo .doc o .pdf
    _______________________________
    ...Ma perchè non ho continuato a fare il dj nei villaggi turistici?

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.