Visualizzazione dei risultati da 1 a 3 su 3

Discussione: Mail Con + Img

  1. #1

    Mail Con + Img

    ciao ragazzi, devo inviare delle mail contenenti delle immaggini.sto utilizzando uno script presente tra le guidi di html.it.

    <?php
    // costruiamo alcune intestazioni generali
    $header = "From: Inviante <inviante@dominio.org>\n";
    $header .= "CC: Altro Ricevente <altroricevente@dominio.net>\n";
    $header .= "X-Mailer: Il nostro Php\n";

    // generiamo le stringhe utilizzate come separatori
    $boundary = "==String_Boundary_x" .md5(time()). "x";
    $boundary2 = "==String_Boundary2_y" .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/alternative\";\n";
    $header .= " boundary=\"$boundary\";\n\n";

    $messaggio = "Se visualizzi questo testo il tuo programma non supporta i MIME\n\n";

    // il primo segmento del multipart/related
    // è definito come multipart/alternative
    $messaggio .= "--$boundary\n";
    $messaggio .= "Content-Type: multipart/alternative;\n";
    $messaggio .= " boundary=\"$boundary2\";\n\n";

    // sezione alternativa in puro testo
    $messaggio .= "--$boundary2\n";
    $messaggio .= "Content-Type: text/plain; charset=\"iso-8859-1\"\n";
    $messaggio .= "Content-Transfer-Encoding: 7bit\n\n";
    $messaggio .= "Messaggio alternativo in formato testo.\n\n";

    // sezione alternativa in formato html
    $messaggio .= "--$boundary2\n";
    $messaggio .= "Content-Type: text/html; charset=\"iso-8859-1\"\n";
    $messaggio .= "Content-Transfer-Encoding: 7bit\n\n";
    $messaggio .= "<html><body>

    Questo messaggio è in formato html ma ha una parte testo.</p>

    Visita il sito <a href=\"http://www.html.it\">www.html.it</a><img src=\"cid:MiaImmagine123\"></p></body></html>\n";

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

    // seconda sezione del multipart/related contenente l'immagine
    $messaggio .= "--$boundary\n";
    $messaggio .= "Content-ID: <MiaImmagine123>\n";
    $messaggio .= "Content-Type: image/jpeg\n";
    $messaggio .= "Content-Transfer-Encoding: base64\n\n";

    $allegato = "./images/miaimmagine.jpg";
    $file = fopen($allegato,'rb');
    $data = fread($file,filesize($allegato));
    fclose($file);

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

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

    $subject = "oggetto del messaggio alternativo con immagini inline";

    if( @mail("ricevente@dominio.it", $subject, $messaggio, $header) ) echo "e-mail inviata con successo!";
    else echo "errore nell'invio dell'e-mail!";
    ?>


    FUNZIONA BENISSIMO....SOLO CON UNA IMG!!!!

    il problema che mi si para davanti é

    COME FACCIO AD INVIARE PIU' IMMAGINI PER MAIL????
    --!GpGiampo!--

  2. #2
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    la parte da replicare è questa:

    codice:
    // seconda sezione del multipart/related contenente l'immagine
    // PRIMA IMMAGINE
    $messaggio .= "--$boundary\n";
    $messaggio .= "Content-ID: <MiaImmagine123>\n";
    $messaggio .= "Content-Type: image/jpeg\n";
    $messaggio .= "Content-Transfer-Encoding: base64\n\n";
    
    $allegato = "./images/miaimmagine.jpg";
    $file = fopen($allegato,'rb');
    $data = fread($file,filesize($allegato));
    fclose($file);
    
    $data = chunk_split(base64_encode($data));
    $messaggio .= "$data\n\n"; 
    
    
    // SECONDA IMMAGINE
    $messaggio .= "--$boundary\n";
    $messaggio .= "Content-ID: <MiaImmagine456>\n";
    $messaggio .= "Content-Type: image/jpeg\n";
    $messaggio .= "Content-Transfer-Encoding: base64\n\n";
    
    $allegato = "./images/miaimmagine2.jpg";
    $file = fopen($allegato,'rb');
    $data = fread($file,filesize($allegato));
    fclose($file);
    
    $data = chunk_split(base64_encode($data));
    $messaggio .= "$data\n\n";
    think simple think ringo

  3. #3
    grazie mille Marketto!!!!!

    l'ho appena provata e funzione benissimo!!!!!!!!

    Yuuuu-uuuuu!!!!!!
    --!GpGiampo!--

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.