Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    Allegato a mail php Problema safari?!

    ciao ho realizzato un form mail in PHP che prende un allegato.

    Mi funziona su tutti i browser tranne che su SAFARI, può essere che safari abbia qualche problema con gli allegati?!


    Grazie, Davide

  2. #2
    aggiungo che il problema mi è arrivato sul mac

    il codice è questo :


    if (is_uploaded_file($allegato))
    {
    // Apro e leggo il file allegato
    $file = fopen($allegato,'rb');
    $data = fread($file, filesize($allegato));
    fclose($file);

    // Adatto il file al formato MIME base64 usando base64_encode
    $data = chunk_split(base64_encode($data));

    // Genero il "separatore"
    // Serve per dividere, appunto, le varie parti del messaggio.
    // Nel nostro caso separerà la parte testuale dall'allegato
    $semi_rand = md5(time());
    $mime_boundary = "==Multipart_Boundary_x{$semi_rand}x";

    // Aggiungo le intestazioni necessarie per l'allegato
    $headers .= "\nMIME-Version: 1.0\n";
    $headers .= "Content-Type: multipart/mixed;\n";
    $headers .= " boundary=\"{$mime_boundary}\"";

    // Definisco il tipo di messaggio (MIME/multi-part)
    $msg .= "This is a multi-part message in MIME format.\n\n";

    // Metto il separatore
    $msg .= "--{$mime_boundary}\n";

    // Questa è la parte "testuale" del messaggio
    $msg .= "Content-Type: text/plain; charset=\"iso-8859-1\"\n";
    $msg .= "Content-Transfer-Encoding: 7bit\n\n";
    $msg .= $messaggio . "\n\n";

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


    }

  3. #3

    Concordo!

    Si, anche io stavo impazzendo perchè non arrivava nulla inviato dal mac.
    Poi ho scoperto che da winzoz funziona!
    Qualcuno sa darmi una spiegazione?
    Visto che ci troviamo.. sto cercando di modificare lo script per inviare più di un allegato ma ho problemi con i separatori. Chi può darmi una mano?

    Grazie!

  4. #4
    guarda usa Phpmailer, e va tutto liscio

    questo è il codice che ho usato
    ma con qualche guida tutorial te lo sistemi insomma e tutto va liscio





    $messaggio = new PHPmailer();
    $messaggio->IsSMTP();
    //$messaggio->Host='Host SMTP';
    $messaggio->From=$mittente;
    $messaggio->FromName =$nome;
    $messaggio->AddAddress('TUA MAIL');

    $messaggio->AddReplyTo($mittente);

    $messaggio->Subject='TUO SOGGETTO';

    $messaggio->Body="TUO MSG
    ";


    if (is_uploaded_file($allegato)) {$messaggio->AddAttachment($_FILES['allegato']['tmp_name'],$_FILES['allegato']['name']);}

    if(!$messaggio->Send()){
    echo $messaggio->ErrorInfo;
    }else{
    echo 'Email inviata correttamente!';
    }
    $messaggio->SmtpClose();
    unset($messaggio);

    }

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.