Nel mio sito sto mettendo dei form compilabili che, con la fuzione mail(), mi inviano una mail con quello che l'utente ha compilato.
La funzione mail ritorna solo TRUE o FALSE. C'è un modo per sapere l'errore nello specifico? Ad esempio, se il problema è che due utenti hanno inviato un form quasi contemporaneamente, non rispettando il limite dei due sec, posso capirlo e far aspettare lo script e quindi riprovare.
Lo stesso per il limite giornaliero. C'è un modo per conoscerlo (senza dovermi salvare nel db il numero di mail inviate)?
Infine, so che è già stato proposto, ma lo ripeto: sarebbe bello poter alzare il limite della mail giornaliere con gli AC, come si fa per il traffico e lo spazio.
La funzione mail() genera un messaggio d'errore (in italiano) se non ha successo in queste circostanze.
Comunque è anche possibile inibire questi messaggi d'errore, con la forma @mail() e decidere di gestirli come meglio si crede nel proprio script, purtroppo non c'è modo di discriminare le cause dell'errore, ovvero capire se l'errore è generato per limite massimo di emails raggiunto, per la frequenza di invio o per altre cause.
Tralasciando l'ultima possibilità, che può essere considerata remota, l'unica soluzione sarebbe quella appunto di contare le emails inviate e fare un controllo su di esse in caso di errore. Non è strettamente necessario appoggiarsi ad un database, in questo caso è più che sufficiente, e anzi consigliabile, usare un semplice file di testo.
Grazie per la risposta.
Io per ora ho messo un if(mail(bla bla)) in modo dà dare un'uscita diversa nella pagina successiva all'invio a seconda del successo o meno.
Vedrò di implementare il conteggio con file di testo.