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

    Inviare email con immagini e pdf

    Ciao a tutti, ho provato a fare una ricerca ma non ho trovato proprio quello che mi serve.

    devo mandare un email che ha un allegato come pdf.

    il corpo dell'email è un file html con delle immagini.

    Se riesco ad includere le immagini non mi allega il file pdf. Se riesco a fargli allegare il file pdf non vengono visualizzate le immagini

    Spero di essere stato chiaro

    Grazie


  2. #2
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    no perchè non hai postato nemmeno un po' di codice, come facciamo ad aiutarti?

    In generale ti consiglio di usare la classe php mailer con la quale è molto semplice aggiungere allegati, ma dipende se vuoi stravolgere il tuo codice :-)

    ciao

  3. #3
    Posto il codice che utilizzo, se l'unico modo per mandare in allegato un file pdf e immagini è usare php mailer stravolgo il codice. Grazie

    Codice PHP:
     if (is_uploaded_file($allegatopdf))
             {    
                
    $filez fopen($allegatopdf"r");
                
    $contents fread($filezfilesize($allegatopdf));
                
    $encoded_attach chunk_split(base64_encode($contents));
                
    fclose($filez);
                
    //$contents = chunk_split(base64_encode($contents));
            
    }
            else
            {
            echo 
    'Upload non eseguito';
            }
            
            
    $header "From: $newsfrom\n";
            
    $header .= "Bcc: $indirizzo\n";
            
    $header .= "X-Mailer: $newsmailer\n";

            
            
    $boundary "==String_Boundary_x" .md5(time()). "x";
            
    $boundary2 "==String_Boundary2_y" .md5(time()). "y";

            
            
    $header .= "MIME-Version: 1.0\n";
            
            
            
    $header .= "Content-type: multipart/mixed;\n";
            
    $header .= " boundary=\"Message-Boundary\"\n";
            
    $header .= "Content-transfer-encoding: 7BIT\n";
            
    $header .= "X-attachments: $nomeAllegatopdf";
            
    $messaggio $newsnohtml;
    $messaggio "--Message-Boundary\n";
            
    $messaggio .= "Content-type: text/html; charset=iso-8859-1\n";
            
    $messaggio .= "Content-transfer-encoding: 7BIT\n";
            
    $messaggio .= "Content-description: Mail message body\n\n";
    $messaggio .= $pagina;
                    
    //$messaggio .= "</BODY></HTML>";
                    
    $messaggio .= "\n\n--Message-Boundary\n";
                    
    $messaggio .= "Content-type: $filetypepdf; name=\"$nomeAllegatopdf\"\n";
                    
    $messaggio .= "Content-Transfer-Encoding: BASE64\n";
                    
    $messaggio .= "Content-disposition: attachment; filename=\"$nomeAllegatopdf\"\n\n";
                    
    $messaggio .= "$encoded_attach\n";
                    
    $messaggio .= "--Message-Boundary--\n";
    $messaggio .= stripslashes(html_entity_decode($pagina));
            
    $messaggio .= "\n";

            
    // chiusura della sezione multipart/alternative
            
    $messaggio .= "--$boundary2--\n";

            
    // seconda sezione del multipart/related contenente l'immagine
            // per ogni valore nell'array $allegato inserisco il codice per allegarlo all'email
            
    $numallegato 0;
            if (
    $immagine):
                foreach (
    $immagine as $allegato):
                    
    //echo $allegato.'
    '.$nomeimmagine;
                    //die;
                    // salvo l'
    immagine in una directory temporanea sul server

                    
    // $allegato è il percorso dell'immagine
                    //$numallegato è la variabile che inserisco nel codice al posto dell'immagine
                    
    $numallegato $numallegato 1;
                    
    // e mi scrivo il codice da inserire nell'email
                    
    $messaggio .= "--$boundary\n";
                    
    $messaggio .= "Content-ID: <immagine"$numallegato">\n";
                    
    $messaggio .= "Content-Type: image/jpeg\n";
                    
    $messaggio .= "Content-Transfer-Encoding: base64\n\n";

                    
    $file fopen($allegato,'rb');
                    
    $data fread($file,filesize($allegato));
                    
    fclose($file);

                    
    $data chunk_split(base64_encode($data));
                    
    $messaggio .= "$data\n\n";
                endforeach;
            endif;

            if (isset(
    $fileallegato) & $fileallegato != ""):
                
    // mi scrivo il codice da inserire nell'email per inserire un allegato
                
    $messaggio .= "--$boundary\n";
                
    $messaggio .= "Content-Transfer-Encoding: base64\n\n";

                
    $file fopen($fileallegato,'rb');
                
    $data fread($file,filesize($fileallegato));
                
    fclose($file);

                
    $data chunk_split(base64_encode($data));
                
    $messaggio .= "$data\n\n";
            endif;

            
    // chiusura della sezione multipart/related
            
    $messaggio .= "--$boundary--\n";

            
    // e finalmente invio l'email (i destinatari sono in Bcc, ovvero conoscenza nascosta
            // per non visualizzare i reali destinatari dela newsletter
            
    if ($attenzionedi):
                
    $indirizzo "$indirizzo ($attenzionedi)";
            endif;
            if( @
    mail($indirizzo$titolo$messaggio$header) ) $esitoinvio .= $indirizzo ', ';
            else $
    $esitoinvio .= "Errore nell'invio della newsletter!";
        
    // Chiusura della connessione 

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.