Newsgroup: it.comp.www.php
Titolo: HTML email con immagine embedded

Salve a tutti.
Sto sviluppando per una grossa casa automobilistica il sistema di 
interfacciamento dei concessionari con il pubblico via web, per la 
prenotazione dei test-drive, la richiesta di preventivi di vendita, 
assicurazioni, ecc. ecc.
Mi sono incartato su un problema che non riesco a risolvere: le 
richieste fatte dagli utenti online attraverso normali form vengono 
inviate tramite un apposito sistema PHP ai concessionari di competenza 
usando la classica funzione mail(); contemporaneamente il sistema invia 
un altro messaggio di posta elettronica all'utente come ricevuta di 
operazione completata, oltre a mostrare a video in tempo reale il 
riassunto delle scelte effettuate.
Fin qui tutto bene.
Il problema viene fuori dal fatto che il cliente esige assolutamente che 
agli utenti venga inviata un'email in HTML con l'immaginetta del marchio 
di fabbrica; io ho tentato disperatamente di suggerire che il formato 
plain-ASCII sarebbe stato migliore, per la compatibilita' con tutti i 
programmi di posta elettronica, e soprattutto per non incappare nei 
tanti sistemi antispam che si stanno diffondendo oggigiorno, e che 
impediscono di vedere immagini infilate in email html, rendendo cosi' 
vano lo sforzo di realizzarle.
Niente da fare: da questo punto di vista, il cliente ha l'elasticita' 
mentale di un paracarro.
Ora, io non riesco a realizzare tramite PHP 'sta email con l'immaginetta 
in cima. Come diavolo si fa? Come si realizza un'email in PHP che abbia 
embedded un file GIF? Ho provato (ingenuo!!!) ad inserire nel corpo del 
messaggio un banale riferimento del tipo
<IMG SRC="immagine_logo.gif">
ma ovviamente non funziona.
Sono riuscito a creare il messaggio composto dalla versione TXT e dalla 
versione HTML, in modo da permettere comunque la lettura del messaggio 
anche a chi (come me) utilizza programmi di posta elettronica che non 
gestiscono l'html. Ma che mi colga un fulmine se riesco a infilare nella 
parte html anche l'immaginetta sacra!!!
Come risolvo? Mi basterebbe che l'immagine si visualizzasse con l'utente 
online, senza renderla disponibile anche per la lettura offline, sarebbe 
un bel passo avanti...
-- 
 \\
  \\__ Falco Stellare - falco.s...@TAPPOlibero.it
       <<Togli il TAPPO per avere l'indirizzo giusto>>

 embedded un file GIF?
E' proprio vero che la necessita' aguzza l'ingegno! :-)))
Ho risolto il problema, guarda tu se dopo tanto tempo di scornamento con 
database e sofisticherie varie mi dovevo arenare su una cosa cosi' 
piccola :-)
Allora, mi sono realizzato una classe per comporre l'email seguendo le 
specifiche delle RFC relative, quindi 822, 1521(MIME) e seguenti, per 
costruire gli header e le varie porzioni secondo le regole. Alla fine la 
classe viene interrogata da uno scritp PHP che compone l'email 
assegnando le variabili necessarie (destinatario, subject, mittente, 
ecc.) prelevandole dal form di interazione con l'utente.
Purtroppo non posso mettere a disposizione il codice perche' per 
contratto e' di proprieta' del cliente... :-( Pero' posso suggerire di 
andare a ficcanasare dalle parti di
http://php.resourceindex.com
dove c'e' un bel po' di roba su "html mime mail" ;-)


 Ho risolto il problema
Ovviamente il diavolo ci deve mettere lo zampino!!! :-(
Praticamente il sistema che ho sviluppato funziona alla perfezione, 
TRANNE che con alcuni server tipo Aruba, dove il messaggio html con 
attachment confezionato dal PHP non viene visto correttamente!!!!
:-((((((((
Praticamente uno degli header shifta nel corpo dell'email, e quindi il 
formato di codifica "base64" si perde, il server gli assegna un "quoted-
printable" di default, e quando Outlook riceve il messaggio da Aruba 
addio html, immagini in attachment, e tutto il resto :-(((((((((((
La cosa comica e' che se il messaggio viene letto tramite il webmail di 
Aruba SI VEDE TUTTO PERFETTAMENTE!!!! :-O
In pratica ci dev'essere qualcosa tra il mailserver di Aruba e Outlook 
che fa spostare l'header e lo rende inutilizzabile. Credo che sia un "a 
capo" di troppo, un "\r" nella classe mimemail che non viene digerito 
correttamente. La classe l'ho scritta basandomi sulla nota classe di 
Richard Heyes, la class.html_mime_mail, vista la (solita) fretta del 
cliente di avere il sistema funzionante (li possino)... Oggi pomeriggio 
ho il briefing di anteprima, e OVVIAMENTE con la sfiga che mi ritrovo 
TUTTI vorranno vedere come funziona il sistema con Aruba... :-)))
Mapork...
C'aggia fa'?
Ma dimmi tu se uno si deve impazzire per una cosa del genere... :-((((((
