Ciao a tutti, ho un problema... uno strano problema, che mi tormenta la vita!!!
Veniamo al dunque:
PREMESSA: lo stesso lavoro è publicato sul mio spazio di Aruba che uso come prova (server windows), ma anche su un server (sempre windows) che non so dove sta su cui è ospitato il vero sito, ed è lì che deve funzionare.
I FATTI:
Ho creato un sito di ecommerce in php, che al completamento di un ordine, invia un email al gestore del sito ed a chi ha effettuato l'ordine. Sul sever di prova tutto ok, le email arrivano alla velocità della luce. Sul server definitivo invece si manifesta uno strano problema: le email inviate a indirizzi residenti su quel server mail stesso, o non arrivano, o arrivano con un ritardo variabile dai 20 ai 40 minuti. Mi spiego meglio... Il server in questione fa sia da web server, che da mail sarver; il sito immaginiamo si chiami www.pippo.it... lo strano problema si manifesta solo quando con la funzione mail() invio le email ad indirizzo del tipo info@pippo.it... ma non sempre. Infatti le email che vengono inviate sono di due tpi. Il primo tipo, e queste arrivano, contengono i dati per accedere al sito, ed hanno una formattazione; il secondo tipo, quello che non arriva, contengono il tettaglio dell'ordine, ed ovviamente hanno un'altra formattazione.
Il gestore del server secondo me sta messo piuttosto male x quanto riguarda il php, e quindi non mi sa dare molto aiuto, fermo restando che il problema dovrebbe essere il loro, anche se io ne pago le conseguenze. La funzione che utilizzo per inviare le email è la seguente, e come ripeto, funziona perfettamente su aruba, e su indirizzi diversi da XXX@pippo.it..
function inviaMail($mailFrom, $intestazioneFrom, $mailTo, $intestazioneTo, $subject, $message){
// configuro l'header dell'email
$header = "MIME-Version: 1.0\r\n";
$header .= "Content-type: text/html; charset=iso-8859-1\r\n";
$header .= "From: $org_var <$mail>\r\n";
$header .= "Reply-To: $org_var <$mail>\r\n";
$header .= "To: $destinatario_nome <$destinatario_mail>\r\n";
$result = mail($mailTo, $subject, $message, $header);
if($result) return true;
else die(EMA_ERROR);
return false;
}
il corpo del messaggio è formattato html, e alla fine di ogni riga è presente "\r\n"
Datemi una mano... vi pregooooooooo...
Grazie a tutti
Marco