Iuzzo
27-06-2006, 18:41
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 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 chiama www.pippo.it... lo strano problema si manifesta solo quando con la funzione mail() invio le email ad indirizzo del tipo [email protected].
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 [email protected]..
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 .= "Organization: $intestazioneFrom\r\n";
$header .= "Content-Transfer-encoding: 8bit\r\n";
$header .= "From: $intestazioneFrom<$mailFrom>\r\n";
$header .= "To: $intestazioneTo <$mailTo>\r\n";
$result = mail($mailTo, $subject, $message."\r\n", $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
Veniamo al dunque:
PREMESSA: lo stesso lavoro è publicato sul mio spazio di Aruba che uso come prova(server windows), ma anche 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 chiama www.pippo.it... lo strano problema si manifesta solo quando con la funzione mail() invio le email ad indirizzo del tipo [email protected].
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 [email protected]..
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 .= "Organization: $intestazioneFrom\r\n";
$header .= "Content-Transfer-encoding: 8bit\r\n";
$header .= "From: $intestazioneFrom<$mailFrom>\r\n";
$header .= "To: $intestazioneTo <$mailTo>\r\n";
$result = mail($mailTo, $subject, $message."\r\n", $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