PHP  »  Articoli  »  Programmazione Php 

La funzione mail()

di: Giancarlo Moschitta     06 Novembre 2002

Introduzione

A mio modesto avviso uno dei più interessanti ed utili aspetti di Internet è dato dalla possibilità di inviare e ricevere Email, la cosiddetta Posta Elettronica, una forma di comunicazione sempre più diffusa e, per varie ragioni, fra tutte la semplicità d'uso e l'immediatezza del messaggio.

Quando parliamo di mail probabilmente pensiamo subito ad un Client di Posta Elettronica (Outlook o Eudora, per citarne due tra i più diffusi), software grazie al quale riusciamo agevolmente a gestire la nostra corrispondenza telematica o, in alternativa, a quei servizi on-line con cui è possibile ottenere lo stesso risultato.

Quello che molti non sanno, invece, è che è possibile inviare email grazie a PHP, sempre in modo molto semplice, grazie a pochissime righe di codice, come vedremo immediatamente. I messaggi non saranno soltanto di puro testo ma anche in formato HTML e con allegati.

Ma cos'è una mail ? Volendo semplificare la massimo la definizione, una mail non è altro che un file di testo, composto da una serie di intestazioni (separate da loro dal carattere di Nuova Linea e che rappresentano delle istruzioni per un software di posta elettronica o danno particolari informazioni sulla struttura e la natura della mail stessa) e dal messaggio vero e proprio.

La funzione, l'unica, che PHP ci mette a disposizione per l'invio di email dal server è la funzione mail(), che prevede tre argomenti obbligatori e due facoltativi.
Prima di addentrarci nell'esame della funzione, è necessario fare un passo indietro, perchè possiamo utilizzare efficacemente mail(), dobbiamo infatti accertarci che PHP sia correttamente configurato. A questo scopo dobbiamo ovviamente dare un'occhiata al file di configurazione, php.ini, nella parte dedicata a questo argomento:

[mail function]
; For Win32 only.
SMTP = localhost

; For Win32 only.
sendmail_from = me@localhost.com

; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
;sendmail_path =

Come si vede è necessario indicare un server SMTP (Simple Mail Transfer Protocol) ed un indirizzo email che costituirà il mittente di posta predefinito, soltanto nel caso in cui PHP venga eseguito su Windows; nel caso in cui si lavori su piattaforma UNIX, invece, sarà necessario solo verificare il corretto percorso del programma per l'invio di posta che sarà nel 90% dei casi, sendmail che è installato di default su quasi tutti i sistemi UNIX e che si preoccuperà di svolgere tutto il lavoro di invio del messaggio al mail server del destinatario.

Evidente quindi che la funzione mail() si limita semplicemente ad inviare al sistema di posta (locale o remoto), il messaggio elettronico e restituisce TRUE quando il messaggio stesso è passato correttamente, a prescindere dal fatto che la mail sia stata inviata o ricevuta con successo.

Guide PHP

Guida Yii Framework

Come creare applicazioni Web in modo semplice e veloce con il...

Guida Zend Framework

Diventate professionisti dello sviluppo Web. Zend Framework è lo...

Guida Applicazioni Facebook con PHP

Come realizzare un'applicazione per Facebook. Dalle basi della...

Altre guide

Newsletter @PHP

Ogni lunedì, direttamente nella tua e-mail: script, articoli, guide e tutorial su PHP, MySQL e Apache.

Iscriviti alla newsletter

Altre newsletter

Corsi in aula

Corso PHP per Webmaster

11 Giugno 2012 a Milano
Disponibilità: 7 Posti

Corso Google AdWords Base

25 Giugno 2012 a Milano
Disponibilità: 7 Posti

Corso Google AdWords Base

05 Giugno 2012 a Roma
Disponibilità: 7 Posti