Ciao,
sono riuscito a recuperare un pezzo di codice che ho usato tempo fa :
codice:
$destinatari = "aaa@bbb.it <aaa@bbb.it>";
$intestazioni = "From: ccc@ddd.it <ccc@ddd.it>\r\n";
$intestazioni .= "Reply-To: eee@fff.it <eee@fff.it>\r\n";
$intestazioni .= "Bcc: ggg@hhh.it <ggg@hhh.it>, iii@jjj.it <iii@jjj.it>\r\n";
$oggetto = "Richiesta di informazioni";
$messaggio = "Nome: " . $nome . "\r\nE-mail: " . $e_mail . "\r\nMessaggio: " . $testo;
if (apache_getenv("SERVER_ADDR") <> "127.0.0.1") {
if (!mail($destinatari, $oggetto, $messaggio, $intestazioni)) {
header("Location: errore_spedizione.php");
} else {
header("Location: conferma_spedizione.php");
};
} else {
header("Location: conferma_spedizione_locale.php");
};
in realtà non è quello che serve a te perché in quel caso inviavo mail di solo testo, era solo per farti vedere la sintassi con gli indirizzi ripetuti fra < e >, tanto per fare una prova in più.
E ora che ci ripenso mi ricordo che era molto importante che non ci fossero ritorni a capo (cioè i \r\n) in nessun campo tranne che nelle intestazioni, dove deve essercene uno per ogni elemento e uno conclusivo, e nel corpo del messaggio ovviamente (però nel tuo caso i ritorni a capo nel corpo del messaggio li farai con
).
Non mi viene in mente altro.
Ciao
EDIT: comunque riguardando il tutto ora i tuoi header iniziali non mi sembrano più tanto disordinati, perché i primi forniscono le informazioni su destinatari e mittente e poi c'è il MIME e gli altri che danno informazioni sul messaggio vero e proprio. Quindi probabilmente vanno bene così e la cosa importante si rivelerà la sostituzione dei \n con \r\n.