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

    E-mail in formato html contenente immagini

    Ho letto l'interessante articolo che spiega come inviare un'e-mail in formato html
    con php all'indirizzo:

    http://php.html.it/articoli/leggi/91...-html-con-php/

    tuttavia una cosa non mi é molto chiara:

    l'esempio riportato che é chiaramente semplificato riguarda l'aggiunta di una sola
    immagine nel corpo del messaggio

    per quanto mi riguarda devo invece aggiungerne diverse che stanno intabellate
    in una tabella (ovviamente ) html

    per quanto riguarda la sezione in formato html nessun problema, mentre per quella
    contenente l'immagine il codice appare il seguente:

    // costruiamo la sezione contenente l'immagine
    // cui attribuiamo l'id MiaImmagine123
    $messaggio .= "--$boundary\n";
    $messaggio .= "Content-ID: <MiaImmagine123>\n";
    $messaggio .= "Content-Type: image/jpeg\n";
    $messaggio .= "Content-Transfer-Encoding: base64\n\n";

    // leggiamo il file corrispondente all'immagine dal nostro server
    $allegato = "./images/miaimmagine.jpg";
    $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
    $messaggio .= "--$boundary--\n";

    Ora io mi chiedo: come cambierebbe il codice se le immagini fossero più d'una?
    bisogna forse scrivere e ripetere lo stesso blocco di codice per ciascuna immagine
    aggiungendo ogni volta un separatore
    "--$boundary\n" e poi alla fine chiudere con "--$boundary--\n" ??

    potete darmi una mano voi a capire?
    G R A Z I E.........................!!!

    Melvis

  2. #2
    OK, dopo diversi tentativi confermo che per aggiungere più immagini nel corpo del messaggio basta ripetere il blocco di codice per ciascuna immagine come segue:

    // costruiamo la sezione contenente l'immagine
    // cui attribuiamo l'id MiaImmagine123
    $messaggio .= "--$boundary\n";
    $messaggio .= "Content-ID: <MiaImmagine123>\n";
    $messaggio .= "Content-Type: image/jpeg\n";
    $messaggio .= "Content-Transfer-Encoding: base64\n\n";

    // leggiamo il file corrispondente all'immagine dal nostro server
    $allegato = "./images/miaimmagine.jpg";
    $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";

    dopo l'ultima immagine si chiude invece così:
    // chiusura del messaggio con la stringa boundary
    $messaggio .= "--$boundary--\n";

    alla prossima!

    Melvis

  3. #3
    Un pò marzulliano

    In alternativa potevi usare swiftmailer o phpmailer

  4. #4
    mi aggancio all'ultimo post sperando di non andare off-topic...
    È meglio swiftmailer o phpmailer?...
    Tra cinquecento anni non importerà più a nessuno!

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.