Ciao a tutti,
ieri di buona volontà mi sono messo a realizzare uno script che mi permetta di inviare tramite un form, una mail in formato HTML.
La cosa strana e assurda è che fino a ieri pomeriggio, riuscivo ad inviare del testo con tag come <b></b> - <i></i> - <code></code> e perfino anche link!
Inoltre riempiendo 2 appositi campi, uno NOME e uno EMAIL MITTENTE, ero in grado di far visualizzare il mittente dell'email inviata.
Oggi invece con mia amara sorpresa, ho notato che le email le spedisce tutte sotto nome di APACHE e per di più, account email come Hotmail o Gmail non mi leggono più il formato HTML che fino a ieri inviavo.
Vi posto una porzione di codice interessata, ma a me sembra (e sono sicuro) che sia tutto in regola.
Spero che mi potrete aiutareCodice PHP:
[...]
// Creo la mail in HTML
$header = "From: $name <$mitt>\n";
$header .= "Bcc: $dest\n";
$header .= "X-Mailer: PHP\n";
// genero la stringa che funge da separatore nel caso in cui alcuni server non leggono HTML
$boundary = "==String_Boundary_x" .md5(time()). "x";
// costruisco 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 stringa indica che il server non legge mail in HTML
$msg = "Se visualizzi questo testo il tuo programma non supporta il formato mail HTML\n\n";
// inizio la parte HTML
$header .= "--$boundary\n";
$header .= "Content-Type: text/html; charset=\"iso-8859-1\"\n";
$header .= "Content-Transfer-Encoding: 7bit\n\n";
$msg .= "$messaggio";
// chiusura del messaggio con la stringa boundary
$header .= "--$boundary--\n";
// Creo la mail aggiungendo i vari dati
mail($dest,$ogg,$msg,$header);
[...]
Saluti.
Ivan