Spero di essere nella sezione giusta. Ho riscontrato problemi con la funzione mail() di php. Usando
Codice PHP:
if(mail(/*parametri*/)) {
echo 'Mail inviata';
} else {
echo 'Errore nell\'invio';
}
la pagina web restituisce un "Mail inviata". Il problema nasce dal fatto che la mail non arriva alla casella di posta, ciò non succede con tutte le mail, ma con la maggior parte, senza contare che il problema non persiste con un servizio mail in particolare(gmail, yahoo, libero...) ma avviene tutto in modo arbitrario. Inoltre a tutte le caselle di posta di mia proprietà la mail arriva sempre e istantaneamente.
Un altro problema (che avevo risolto e ho paura capiti di nuovo per non so quale motivo) è che dopo un po' la funzione mail smette di funzionare. Avevo risolto riscrivendo i codici da capo, ma è una soluzione scomoda, in quanto non posso sapere quando la funzione si disattiva.
Di seguito inserisco i codici interi dell'invio mail per permettervi di capire quale possa essere il problema:
Codice PHP:
$name = $nome.' '.$cognome;
//link
$link = 'http:///devbook.altervista.org/verifica/?mail='.$mail;
//destinatario
$destinatario = $name.' <'.$email.'>';
//oggetto
$oggetto = 'Verifica email devbook';
//messaggio
$messaggio ='
MESSAGGIO
<a href="'.$link.'">Verifica</a>
';
//intestazioni
$intestazioni = "MIME-Version: 1.0\r\n";
$intestazioni .= "Content-type: text/html; charset)iso-8859-1\r\n";
$intestazioni .= "From: devbook@yahoo.it\r\n";
$intestazioni .= "Reply-To: devbook@yahoo.it\r\n";
$intestazioni .= "X-Mailer: PHP/".phpversion();
//invio
if(mail($destinatario, $oggetto, $messaggio, $intestazioni)) {
//codici per l'inserimento dei dati del form di registrazione nel database
} else {
include('errore.php');//file che riporta a schermo un messaggio di errore