Dunque, se siete arrivati su questa pagina, state sicuramente progettando o comunque vi sarà già capitato, di imbattervi nella creazione di uno script di invio email in automatico… Inviare automaticamente email con php è possibile grazie alla funzione nativa mail descritta abbondantemente nella guida ufficiale del php e utilizzata da tutti gli script di più alto livello presenti in rete.
Potrebbe capitarvi che PHP non sia correttamente configurato per l’invio delle email e che quindi tutti i tentativi di eseguire il vostro script correttamente, falliscano miseramente e senza darvi troppe spiegazioni. Questo perchè PHP di default ,non effettua la configurazione del “modulo” sendmail, necessario per l’invio dell’email da PHP.
Eccovi una breve descrizione di come configurare il server web Apache per l’invio di email dagli script php sviluppati localmente, l’approccio di risoluzione è il medesimo sia che ci si trovi in ambienti Windows che Linux/Unix.
Per tutti gli utenti linux/unix effettuare una ricerca del comando sendmail:
luca@lincelnx:~$ locate /sendmail
/home/luca/.ies4linux/ie6/drive_c/windows/system32/sendmail.dll
/usr/lib/sendmail
/usr/sbin/sendmail
/usr/share/gnome-pilot/conduits/sendmail.conduit
/usr/share/man/man8/sendmail.8.gz
/usr/share/perl5/Mail/Mailer/sendmail.pm
Prendiamo come buoni tutti i risultati contenuti nelle cartelle dove risiedono i binari
/usr/sbin o usr/bin (varia da sistema a sistema)
Gli utenti di Microsoft Windows non devono effettuare questo passaggio in quanto l’invio di email avviene grazie alla configurazione integrata di So/Outlook e account utente.
Individuare il file php.ini e aprirlo per modificarne la configurazione.
Per gli utenti Linux/Unix individuare con una ricerca testuale il sendmail_path e settarlo correttamente e in modo esteso es:
; For Unix only. You may supply arguments as well (default: “sendmail -t -i”).
sendmail_path = /usr/sbin/sendmail
Per gli utenti Windows settare il proprio account locale di posta elettronica in modo che php riesca a utilizzarlo per l’invio delle email.
[mail function]
; For Win32 only.
SMTP = localhost
smtp_port = 25
; For Win32 only.
sendmail_from = luca@webeng.it
Salvare il file, riavviare Apache ed effettuare un test del vostro script di invio.
Spero vi sia stato utile.