Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2003
    Messaggi
    158

    Mail HTML / IMMAGINI e server di Posta

    Lo stesso script su diversti server di posta da 3 diversi risultati:


    1) YAHOO:




    2) LIBERO:




    3) HOTMAIL:




    Sembra chiaro che su YAHOO funziona tutto bene, su LIBERO non funziona praticamente niente, mentre su HOTMAIL per motivi di sicurezza non visualizza l'immagine ma la inserisce come allegato e solo dopo aver cliccato sull'allegato e avermi chiesto x motivi di sicurezza l'autorizzazione, mi visualizza l'immagine correttamente.

    LOGICAMENTE COSI NON PUO ANDARE

    Qui di seguito riporto la parte di codice che genera e invia in automatico l'e-mail alla concluzione dell'ordine:

    Codice PHP:

    <?php 

           

    // costruiamo alcune intestazioni generali
    $header "From: Inviante <videodigit@yahoo.it>\n";
    $header .= "CC: Altro Ricevente <ale.delta@yahoo.it>\n";
    $header .= "X-Mailer: Il nostro Php\n";

    // generiamo la stringa che funge da separatore
    $boundary "==String_Boundary_x" .md5(time()). "x";

    // costruiamo le intestazioni specifiche per un messaggio
    // con parti relazionate
    $header .= "MIME-Version: 1.0\n";
    $header .= "Content-Type: multipart/related;\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";



    //costruiamo il testo in formato HTML




    $messaggio .="

    <style type=\"text/css\"> 
    <!-- 
    h1{font: 11px Verdana, Arial, Helvetica, sans-serif; size: 1; color: black; text-decoration: none} 
    h2{font: 6px Verdana, Arial, Helvetica, sans-serif; size: 1; color: black; text-decoration: none} 
    h3{font: 10px Verdana, Arial, Helvetica, sans-serif; size: 1; color: black; text-decoration: none} 
    h4{font: 9px Verdana, Arial, Helvetica, sans-serif; size: 1; color: black; text-decoration: none} 
    --> 
    </style>

        <center><table width=\"526px\"  cellpadding=\"0\">

          <Td>

     Il suo ordine è stato inserito correttamete, nella tabella in basso è riportato il totale da pagare</td>
         </table>


           <center><table width=\"526px\"  cellpadding=\"0\">


    <tr><td colspan=\"20\" background=\"http://www.amg-computer.com/Immagini/TestaFattura.jpg\" height=\"33\"></td></tr>      

              

    "

              
                 

       
    foreach(
    $Prodotti as $Key=>$Val)
                  {
                    
    $Prodotto=ProdottiSelezionati($Key);
                    

                    
    $messaggio .="<center><tr><td width=\"1\" bgcolor=\"silver\"></td><td bgcolor=\"White\" width=\"140px\"><h3> &nbsp $Prodotto[Tipo]</td><td width=\"1\" bgcolor=\"silver\"></td><td bgcolor=\"White\" width=\"190px\"><h3> &nbsp $Prodotto[Marca] $Prodotto[Tipo]</td><td width=\"1\" bgcolor=\"silver\"></td><td width=\"48\" align=\"right\"><h3>$Val &nbsp </td><td width=\"1\" bgcolor=\"silver\"></td><td bgcolor=\"white\" align=\"right\"><h3> <font color=White> "
                    
    $Prezzo=($Prodotto[Prezzo]) * $Val;
                    
                    
    $messaggio .="</font>$Prezzo &nbsp </td><td width=\"1\" bgcolor=\"silver\"></td><td bgcolor=White width=\"60px\"><center><h3> 20% </td> <td width=\"1\" bgcolor=\"silver\"></td></tr>";
                    
                   }

    $messaggio .= "

    <html>
     <html> 
    <style type=\"text/css\"> 
    <!-- 
    h1{font: 11px Verdana, Arial, Helvetica, sans-serif; size: 1; color: black; text-decoration: none} 
    h2{font: 6px Verdana, Arial, Helvetica, sans-serif; size: 1; color: black; text-decoration: none} 
    h3{font: 10px Verdana, Arial, Helvetica, sans-serif; size: 1; color: black; text-decoration: none} 
    h4{font: 9px Verdana, Arial, Helvetica, sans-serif; size: 1; color: black; text-decoration: none} 
    --> 
    </style>


    <body>






       
            
     <tr><td width=\"1\" height=\"30px\" bgcolor=\"silver\"><td></td><td width=\"1\" bgcolor=\"silver\"><td></td><td width=\"1\" bgcolor=\"silver\"><td></td><td width=\"1\" bgcolor=\"silver\"><td></td><td width=\"1\" bgcolor=\"silver\"></td></td><td></td><td width=\"1\" bgcolor=\"silver\"></tr>
     <tr><td bgcolor=\"silver\" colspan=12></td></tr>

     </table><table width=\"526px\" cellpadding=\"0\"  cellspacing=><tr><td bgcolor=\"silver\" height=1 colspan=8></td></tr> <tr><td width=\"1\" bgcolor=\"silver\"></td><th width=\"190\"><h3>
     &nbsp Totale Imponibile: 
    $Tot &nbsp 

    </td><td width=\"1\" bgcolor=\"silver\"></td>"
    ;


     
    $Iva=($Tot*20)/100$Totale=$Tot+$Iva;


     
    $messaggio .="<th width=\"190\"><h3> Totale Imposta: $Iva </td><td width=\"1\" bgcolor=\"silver\"></td><th bgcolor=\"silver\" width=\"190px\"><h3> [b]<u>&nbsp Totale Documento: [b] $Totale &nbsp </td><td width=\"1\" bgcolor=\"silver\"></tr><tr><td bgcolor=\"silver\" height=1 colspan=8></td></tr></table>
     
    <table width=\"526px\" cellpadding=\"0\"  cellspacing=><th></th></table>







    "
    ;

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

    // leggiamo il file corrispondente all'immagine dal nostro server
    $allegato "http://www.amg-computer.com/Immagini/TestaFattura.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";

    $subject "Conferma ricezione ordine [url]www.amg-computer.com[/url]";

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

    ?>

  2. #2
    A me non sembra un problema di script, ma di ouput da parte del server di posta.

    Il primo non filtra il contenuto HTML perché (magari analizzandolo) lo ritiene non dannoso.
    Il secondo blocca tutto (CSS compreso) e formatta alla bell'e meglio con caratteri standard (times new roman).
    Il terzo blocca solo le immagini e lascia inalterato il layout.

    Manco a dirlo, essendo le immagini dei pericolosissimi veicoli di codice malevolo, ogni fornitore di indirizzi di posta elettronica si organizza come meglio crede per tentare di salvaguardare i propri utenti da infezioni varie.

    Mi sa proprio che non riuscirari a risolvere con una qualche riga di PHP.
    Ad ogni modo, sono sicuro che chi si scarica la posta con un Client, possa visualizzare il messaggio esattamente come tu lo intendi formattato.

    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2003
    Messaggi
    158
    Quindi non c'è soluzione?

  4. #4
    devi codificare l'immagine base64 ed inviarla come allegato alla mail.

    cerca su google
    Ciao!

  5. #5
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Originariamente inviato da alcio74
    Ad ogni modo, sono sicuro che chi si scarica la posta con un Client, possa visualizzare il messaggio esattamente come tu lo intendi formattato.
    Infatti il problema non sono i "server di posta", ma le webmail

  6. #6
    no!
    anche i client di posta potrebbero non visualizzare le immagini.

    Per quanto riguarda l'immagine subito visibile nel messaggio devi usare code64, ma non so dirti altro...
    Ciao!

  7. #7
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Originariamente inviato da fmortara
    no!
    anche i client di posta potrebbero non visualizzare le immagini.
    Si parlava di webmail.
    E comunque quella sui client di posta è un'impostazione sotto il controllo dell'utente.

  8. #8
    Originariamente inviato da luca200
    Si parlava di webmail.
    E comunque quella sui client di posta è un'impostazione sotto il controllo dell'utente.
    No!
    esistono email che contengono l'immagine all'interno del corpo dell'email stessa. Non puoi non visualizzarle e non possono riferire a spammer vari circa l'esistenza del tuo indirizzo email.

    hai mai ricevuto spam con immagini visualizzate? se guardi il codice html, vedrai una sfilza di caratteri strani senza spazi, bene quello è il code64 dell'immagine e di tutto il codice html.

    guarda qui: http://www.php.net/base64_encode
    Ciao!

  9. #9
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Quasi quasi mi piacerebbe capire cosa stai cercando di spiegarmi... ma non ne ho proprio idea

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.