C'ho combattuto anch'io con mail() e posso notare che forse qualcosa nel tuo codice non va molto bene, mi pare di vedere che attacchi pezzi di header nel messaggio, mentre invece sono solo destinati all'header, cmq dai un'occhiata su www.php.net che alla voce mail() presenta una valanga di esempi.
Però ti do una dritta, se vuoi mandare una signora mail.
Usa i pacchetti di pear (pear.php.net) con le classi Mail e Mail_Mime.
Grazie alla classe Mail puoi inviare, ma il grosso del lavoro lo fa Mail_Mime.
In pratica tu usi i metodi di un oggetto Mail_mime per crearti in automatico una mail impeccabile.
Esempio, devi fare una mail html con allegato con possibilità di formato txt.
Ti mando uno stralcio di codice:
E' molto semplificato, ovviamente ricordati o di installare tramite pear il pacchetto Mail o comunque di scaricartelo, metterlo nella tua web root e fare un require per caricarlo.Codice PHP:$Mail=& Mail::factory($backend,$params);
$MailMime=new Mail_mime("\n");
$MailMime->addHTMLImage($percorsoimg,$tipoimg,$nomeimg,true);
$MailMime->addAttachment($percorsoat,$tipoat,$nomeat,true);
$MailMime->setHTMLBody($testohtml);
$MailMime->setTXTBody($testotxt);
$hdrs=array("From"=>$mittente,
"To"=>$destinatario,
"Subject"=>$oggetto);
ini_set("error_reporting","E_ALL & ~E_NOTICE");
$body=$MailMime->get();
$hdrs=$MailMime->headers($hdrs);
ini_restore();
$ris=$Mail->send($destinatario,$hdrs,$body);
unset($MailMime);
unset($Mail);
Ah, ricordati che i metodi get() e headers() vanno chiamati in quella sequenza.
Ciao!

Rispondi quotando