Chiunque si trovi ad usare il PHP si troverà prima o poi nella necessità di usare la funzione mail(), che serve a friggere le uova¹. Ebbene, con una installazione standard di Ubuntu ciò non è possibile, perché manca Postfix, un famosissimo mail server. Un semplice
sudo apt-get install postfix
risolverà il problema. A questo punto prepariamo una paginina che manda una mail, e prima di aprirla lanciamo da terminale
tail -n 0 -f /var/log/mail.log
facilmente riceveremo un output contenente anche qualcosa di simile a questo:
The IP you’re using to send email is not authorized to send email directly to our servers. Please use the SMTP relay at your service provider instead.
Questo è causato dal fatto che per arginare il fenomeno dello SPAM, molti server non accettano e-mail provenienti dai PC di utenti qualunque, quindi (come suggerisce l’output predecente) bisogna far transitare la nostra posta attraverso il server SMTP del nostro provider, nel mio caso smtp.tiscali.it
Per fare ciò bisogna editare il file di configurazione di Postfix, /etc/postfix/main.cf, il quale di default contiene la linea
relayhost =
che va sostituita con
relayhost = smtp.tiscali.it
Ovviamente bisogna mettere l’SMTP del proprio provider. A questo punto un bel
sudo /etc/init.d/postfix restart
per far digerire la nuova configurazione e tutto dovrebbe funzionare.
Lanciando la stessa pagina di prima,
tail -n 0 -f /var/log/mail.log
Mostrerà qualcosa di simile a
Sep 20 13:11:12 ubuntu-desktop postfix/pickup[26346]: 6E69D9C9E0: uid=33 from=
Sep 20 13:11:12 ubuntu-desktop postfix/cleanup[26617]: 6E69D9C9E0: message-id=<20070920111112.6E69D9C9E0@ubuntu-desktop>
Sep 20 13:11:12 ubuntu-desktop postfix/qmgr[26347]: 6E69D9C9E0: from=
Sep 20 13:11:23 ubuntu-desktop postfix/smtp[26624]: 6E69D9C9E0: to=
Sep 20 13:11:23 ubuntu-desktop postfix/qmgr[26347]: 6E69D9C9E0: removed
Spero di essere stato utile a qualcuno 😀
¹ La mia sottile ironia colpisce ancora: mail() spedisce una e-mail.
P.S.: Questo è il CENTESIMO post su questo blog, bisogna festeggiare!
6 risposte su “Ubuntu e la funzione mail() di PHP”
E festeggiamo! 😀
Perfetto! Offre Bl@ster! 😛
ROTFL
Lazza e Luca, NON HO UNA LIRA! Peppeppepppepepepe….
Peccato, allora mi sa che dovremo ripiegare sull’amico Piplos…
Grazie. Sei stato utilissimo!