Salve, ho trovato il vostro script per inviare mail che abbiano una parte in formato testo ed una in Html, lasciando poi al client di posta l'ardua scelta...
Il fatto è che il vostro script funziona meravigliosamente, però riadattato alle mie esigenze, funziona una volta su dieci. Mi spiego... Ho creato un negozio on line che invia ai clienti la lista dei prodotti acquistati. Il codice è rimasto invariato, però poche volte (facendo una prova d'acquisto) arriva la mail con l'elenco, mentre spesso (pur visualizzando il messaggio del corretto invio della mail), al destinatario non arriva nulla!Subito dopo faccio la prova col vostro script originale, e la mail arriva subito....Boh!!!?? Vi posto il codice in questione, riguardante il recupero dei dati di identificazione...tanto il problema dell'invio della mail, si verifica anche qui...Sto impazzendo!!!!
![]()
Aggiungo che se la mail la mando come puro testo, questa arriva sempre (ho fatto la prova con due webmail differenti yahoo e poste italiane) centra il server per caso? Grazie...
// 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 la stringa che funge da separatore
$boundary = "==String_Boundary_x" .md5(time()). "x";
// costruiamo le intestazioni che specificano
// un messaggio costituito da più parti alternative
$header .= "MIME-Version: 1.0\n";
$header .= "Content-Type: multipart/alternative;\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";
// inizia la prima parte del messaggio in testo puro
$messaggio .= "--$boundary\n";
$messaggio .= "Content-Type: text/plain; charset=\"iso-8859-1\"\n";
$messaggio .= "Content-Transfer-Encoding: 7bit\n\n";
$messaggio .= "Messaggio in formato testo.\n\n";
// inizia la seconda parte del messaggio in formato html
$messaggio .= "--$boundary\n";
$messaggio .= "Content-Type: text/html; charset=\"iso-8859-1\"\n";
$messaggio .= "Content-Transfer-Encoding: 7bit\n\n";
$messaggio .= "<html><body>
I vostri dati sono...</p></body></html>\n";
// chiusura del messaggio con la stringa boundary
$messaggio .= "--$boundary--\n";
$subject = "secondo messaggio html";
if( @mail($_post[email], $subject, $messaggio, $header) ) echo "e-mail inviata con successo!";
else echo "errore nell'invio dell'e-mail!";