Visualizzazione dei risultati da 1 a 3 su 3

Discussione: Mail con allegato

  1. #1

    Mail con allegato

    Problema postato ormai mille volte, ma io sto impazzendo.

    Fino a qualche giorno fa funzionava benissimo, ora manda la mail ma con l'allegato ma vuoto [0 byte].
    Ci sto perdendo le ore.


    <?php
    // DESTINATARIO
    $To = "io@io.it";

    // IL SOGGETTO DELLA MAIL
    $Soggetto = "Ciao a tutti !";


    // 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\"\n";
    $mail_headers .= "Content-transfer-encoding: 7BIT\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 del modulo:\n\n";

    $mail_body .= "Nome: " . trim(stripslashes($_POST["Nome"])) . "\n";
    $mail_body .= "Cognome: " . trim(stripslashes($_POST["Cognome"])) . "\n";
    $mail_body .= "Recapito: " . trim(stripslashes($_POST["Recapito"])) . "\n";
    $mail_body .= "Città: " . trim(stripslashes($_POST["Città"])) . "\n";
    $mail_body .= "Provincia: " . trim(stripslashes($_POST["Provincia"])) . "\n";
    $mail_body .= "CAP: " . trim(stripslashes($_POST["CAP"])) . "\n";
    $mail_body .= "Tefefono: " . trim(stripslashes($_POST["Telefono"])) . "\n";
    $mail_body .= "E-Mail: " . trim(stripslashes($_POST["Mail"])) . "\n";

    $mail_body .= "Didascalia: " . trim(stripslashes($_POST["Commenti"])) . "\n";

    $mail_body .= "Foto:\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 .= "Content-disposition: attachment; filename=\"$attach_name\"\n\n";
    $mail_body .= "$encoded_attach\n";
    $mail_body .= "--$boundary--\n";

    // INVIO DELLA MAIL
    if(@mail($To, $Soggetto, $mail_body, $mail_headers)) { // SE L'INVIO E' ANDATO A BUON FINE...
    header("Location:http://quellochevuoi.tu");

    } else {// ALTRIMENTI...
    echo "Si sono verificati dei problemi nell'invio della mail.";
    }


    ?>

  2. #2

  3. #3
    Veramente ho perso l'infinito.

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.