Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di HammerFist
    Registrato dal
    May 2005
    Messaggi
    1,110

    Dov'è l'errore in qst codice di invio email + allegato?

    Non capisco come mai non funziona qst codice... voi riuscite a vedere qual'è l'errore? in pratica cerca di mandare un'email con allegato

    <?

    $posta_centrale = "mia@mail.it";

    $attach = $_FILES["allegato"]["tmp_name"];
    $file_name = $_FILES["allegato"]["name"];
    $file_type = $_FILES["allegato"]["type"];
    $file_size = $_FILES["allegato"]["size"];



    $nome = $HTTP_POST_VARS["nome"];
    $cognome = $HTTP_POST_VARS["cognome"];
    $indirizzo = $HTTP_POST_VARS["indirizzo"];
    $citta = $HTTP_POST_VARS["citta"];
    $telefono = $HTTP_POST_VARS["telefono"];

    $email = $HTTP_POST_VARS["email"];

    $cap = $HTTP_POST_VARS["cap"];
    $nascita = $HTTP_POST_VARS["nascita"];
    $codice = $HTTP_POST_VARS["codice"];
    $attuale = $HTTP_POST_VARS["attuale"];
    $precedente = $HTTP_POST_VARS["precedente"];
    $curriculum = $HTTP_POST_VARS["curriculum"];

    $contenuto = "
    <html>
    <head>
    <title>Nuova Richiesta di collaborazione</title>
    </head>
    <body>


    E' stata appena effettutata una nuova richiesta </p>
    da parte di:

    $nome

    $cognome

    residente in : $indirizzo

    città: $citta

    cap. : $cap

    data di nascita: $nascita

    codice fiscale: $codice

    telefono: $telefono

    indirizzo e-mail: $email

    precedente occupazione: $precedente

    occupazione attuale: $attuale

    </body>
    </html>
    ";


    // 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 .= "From: mia_email<mia@mail.com>\r\n";
    $mail_headers .= "X-attachments: $file_name\n";

    // COSTRUIAMO IL CORPO DELLA MAIL
    $mail_body = "--$boundary\n";
    $mail_body .= "Content-Type: text/plain; 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";

    $Destinatario = "mia@mail.it";
    $Soggetto = "Conferma ricevimento richiesta di collaborazione";

    @mail($Destinatario, $Soggetto, $mail_body, $mail_headers);

    header("location: grazie.php");


    ?>

  2. #2
    Utente di HTML.it L'avatar di HammerFist
    Registrato dal
    May 2005
    Messaggi
    1,110
    mi aiuta qualcuno per favore?
    in pratica mi arriva l'email , ma l'allegato risulta sempre di 0 byte e il testo non esce...

  3. #3
    Utente di HTML.it L'avatar di HammerFist
    Registrato dal
    May 2005
    Messaggi
    1,110
    Ho cambiato il codice con qst ...
    (...)
    $emailto="mia@email.it"; // INERIRE L'EMAIL QUI!!

    $data=date("j/m/Y");
    $ora=date("h:i:s");

    $headers = "MIME-Version: 1.0\n";
    $headers .= "Content-Type: multipart/mixed; boundary=\"XX-1234DED00099A\"\n";
    $headers .= "Content-Transfer-Encoding: 7bit\n";
    $headers .= "From: $emailto\n";

    $messaggio="--XX-1234DED00099A\n";
    $messaggio.="Content-Type: text/plain; charset=iso-8859-1\n";
    $messaggio.="Content-Transfer-Encoding: 7bit\n\r";

    $messaggio.="Curriculum inviato il $data alle $ora\n\r\nDati inseriti\n";
    $messaggio.="Nome: $nome\n Cognome: $cognome\nData di nascita: $nascita\nCodice fiscale: $codice\n";
    $messaggio.="Citta: $citta\nCap: $cap\nTelefono: $telefono\n";
    $messaggio.="Email: $email\nLavoro precedente: $precedente\nLavoro attuale: $attuale\n";
    $oggetto_send="Invio Curriculum";


    $messaggio.="--XX-1234DED00099A\n";
    $messaggio.="Content-Type: application/octet-stream; name=\"$file_name\"\n";
    $messaggio.="Content-Transfer-Encoding: base64\n";
    $messaggio.="Content-Description: \"Curriculum\"\n";
    $messaggio.="Content-Disposition: attachment\n\r";

    $fp=@fopen($thefile, "r");
    if ($fp) {
    $data = fread($fp, filesize($thefile));
    }
    $curr = base64_encode($data);
    $messaggio .= "$curr\n\r--XX-1234DED00099A--\n";
    mail($emailto, $oggetto_send, $messaggio, $headers);
    (...)
    il testo adesso arriva, ma l'allegato dà qst errore con tiscali ...

    L'ID del messaggio specificato non è valido. (13)

    mentre in hotmail non lo fà scaricare...

    come risolvo?

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.