• User Newbie

    inviare allegati ocl php

    ciaoa tutti, molti tutorial ma nulal di realmente funzionante...

    devo inviare una email con allegato che viene caricato da un utente sul sito web...

    per ora ho usato questo, il messaggio arriva, senza testo e con un allegato vuoto...

    <?php

    $nome = isset($_POST["nome"]) ? $_POST["nome"]:"";
    $cognome = isset($_POST["cognome"]) ? $_POST["cognome"]:"";
    $indirizzo = isset($_POST["indirizzo"]) ? $_POST["indirizzo"]:"";
    $Tel = isset($_POST["Tel"]) ? $_POST["Tel"]:"";
    $code = isset($_POST["code"]) ? $_POST["code"]:"";
    $citta = isset($_POST["citta"]) ? $_POST["citta"]:"";
    $stato = isset($_POST["stato"]) ? $_POST["stato"]:"";
    $email = isset($_POST["email"]) ? $_POST["email"]:"";
    $info_a = isset($_POST["arrivo"]) ? $_POST["arrivo"]:"";
    $info_b = isset($_POST["partenza"]) ? $_POST["partenza"]:"";
    $info_c = isset($_POST["persone"]) ? $_POST["persone"]:"";
    $info_d = isset($_POST["tipologia"]) ? $_POST["tipologia"]:"";
    $info_e = isset($_POST["animali"]) ? $_POST["animali"]:"";
    $info_f = isset($_POST["taglia"]) ? $_POST["taglia"]:"";
    $messaggio = isset($_POST["messaggio"]) ? $_POST["messaggio"]:"";

    $sender_name = "info";
    $empfaenger = "info@xxxxxxxx";
    $betreff = "informazione";

    $semi_rand = md5(time());
    $mime_boundary = "==Multipart_Boundary_x{$semi_rand}x";

    $headers = "From: ".$_POST["email"]."\r\n";
    $headers .= "Reply-To: ".$_POST["email"]."\r\n";
    $headers .= "\nMIME-Version: 1.0\n";
    $headers .= "Content-Type: multipart/mixed;\n";
    $headers .= " boundary="{$mime_boundary}"";
    $msg .= "This is a multi-part message in MIME format.\n\n";

    // Valorizzo le variabili relative all'allegato
    $allegato = $_FILES['allegato']['tmp_name'];
    $allegato_type = $_FILES['allegato']['type'];
    $allegato_name = $_FILES['allegato']['name'];

    // 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";

    $posta = ("$nome, $cognome, $indirizzo, $Tel, $code, $citta, $info_a, $info_b, $info_c, $info_d, $info_e, $stato, $email, $messaggio");

    $nachricht ="Nome: $nome\n
    Cognome: $cognome\n
    Indirizzo: $indirizzo\n
    Tel: $Tel\n
    Citta: $code $citta\n
    Stato: $stato\n
    E-Mail: $email\n
    data di arrivo: $info_a\n
    data di partenza: $info_b\n
    Quante Persone: $info_c\n
    Tipologia: $info_d\n
    Animali: $info_e Taglia: $info_f\n
    Messaggio: $messaggio
    $msg;";

    if(isset($posta)) {
    $posta = mail($empfaenger, $betreff, $nachricht, $headers);
    header("location:ok.html");

    } else {

    header("location:error.html");
    }

    ?>