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

    invio email html con immagine embedded e allegato

    ciao a tutti vorrei inviare un allegato pdf con un'immagine all'interno del testo html

    il problema è che non so bene come fare..

    se metto Content-Type: multipart/related
    mi vanno le immagini inserite nel testo

    se metto Content-Type: multipart/mixed
    mi va l'allegato

    quindi ho pensato di metterli entrambi...ma così non va (vedi codice)

    Qualcuna sa aiutarmi?

    Vi ringrazio in anticipo

    Codice PHP:
    // generiamo la stringa che funge da separatore
    $boundary "==String_Boundary_x" .md5(time()). "x";
    $boundary2 "==String_Boundary_x" .md5(time()). "y";
        
    // costruiamo le intestazioni specifiche per un messaggio
    // con parti relazionate
    $header .= "MIME-Version: 1.0\n";
    $header .= "Content-Type: multipart/related;\n";
    $header .= " type=\"multipart/mixed\";\n";
    $header .= " boundary=\"$boundary\";\n\n";
        
    // questa parte del messaggio viene visualizzata
    // solo se il programma non sa interpretare
    // i MIME poiché è posta prima della stringa boundary
    $messaggio "Se visualizzi questo testo il tuo programma non supporta i MIME\n\n";
        
    // costruiamo la sezione in formato html
    $messaggio .= "--$boundary\n";
    $messaggio .= "Content-Type: text/html; charset=\"iso-8859-1\"\n";
    $messaggio .= "Content-Transfer-Encoding: 7bit\n\n";
        
    $messaggio .= "<html>
    <body>"
    ;
        
    $messaggio .= "<img src=\"cid:immagine\" alt=\"immagine\">
    "
    ;

    $messaggio .= "</body></html>\n\n";
        
    // costruiamo la sezione contenente l'immagine
    // cui attribuiamo l'id MiaImmagine123
    $messaggio .= "--$boundary\n";
    $messaggio .= "Content-Type: image/jpg;";
    $messaggio .= "name=".$_POST['nome']."\n";
    $messaggio .= "Content-Transfer-Encoding: base64\n";
    $messaggio .= "Content-ID: <immagine>\n\n";
        
    // leggiamo il file corrispondente all'immagine dal nostro server
    $allegato ="../attivita/1/comunicato_".$id_email.$riga_messaggio['immagine_ext'];
    $file fopen($allegato,'rb');
    $data fread($file,filesize($allegato));
    fclose($file);
            
    // usiamo la codifica base64 per trasmettere il file
    $data chunk_split(base64_encode($data));
    $messaggio .= "$data\n\n";
    // chiusura del messaggio con la stringa boundary
            
    // Aggiungo l'allegato al messaggio    
            
    $messaggio .= "--$boundary\n";    
            
    // questo segmento del multipart/related
    // è definito come multipart/mixed
    $messaggio .= "Content-Type: multipart/mixed;\n";
    $messaggio .= " boundary=\"$boundary2\";\n\n";
            
    //sezione multipart/mixed
    $messaggio .= "--$boundary2\n";
    $messaggio .= "Content-Type: application/pdf;";
    $messaggio .= " name=comunicato_numero_".$_POST['id_mod'].".pdf\n";
    $messaggio .= "Content-Transfer-Encoding: base64\n";
    $messaggio .= "Content-Disposition: attachment;";
    $messaggio .= " filename=comunicato_numero_".$_POST['id_mod'].".pdf\n\n";
         
                     
    // leggiamo il file corrispondente all'immagine dal nostro server
            
    // Apro e leggo il file allegato
             
            
    $allegato ="../attivita/1/comunicati/".$_SESSION['id'].".pdf";
            
    $file fopen($allegato,'rb');
    $data fread($filefilesize($allegato));
    fclose($file);
    // Adatto il file al formato MIME base64 usando base64_encode
     
    $data chunk_split(base64_encode($data));
            
    $messaggio .= $data "\n";
    // chiusura della sezione multipart/mixed
    $messaggio .= "--$boundary2--\n";

    // chiusura del messaggio con la stringa boundary
    $messaggio .= "--$boundary--"

  2. #2

  3. #3
    per chi fosse interessato ho trovato questo link che mi sembra utile

    link classe php email

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.