Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2004
    Messaggi
    33

    [php] Invio mail con testo html e più allegati

    Ho letto l'articolo relativo all'invio di mail con testo html e allegato. Inoltre ho letto questoa pillola. Però non sono riuscito a capire come si fa ad allegare più file. Come si usano i boundary? Il codice copiato dall'articolo è:

    Codice PHP:
    <?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 <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!";
    ?>
    Se ad esempio volessi allegare due o tre immagini e inserirle nel testo html? Ho fatto alcuni tentativi ma i risultati sono stati disastrosi!!

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2004
    Messaggi
    33
    UP!!

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2004
    Messaggi
    33
    [supersaibal]Originariamente inviato da faccia
    UP!! [/supersaibal]
    ancora up!!

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2004
    Messaggi
    33

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 © 2024 vBulletin Solutions, Inc. All rights reserved.