Aree Didattiche
Web FacileLinguaggi del WebLinguaggi EstensibiliGraficaProgrammazioneDatabaseWeb ServerSistemi OperativiNetworkingMobileBusiness
Aree Download
Software Script Flash Movies Sound Loops Templates Web Grafica Font

 

Sei un Webmaster? Iscriviti alla newsletter...

Inviare email con allegati usando PHP

Articolo scritto da Max Bossi il 29/11/2005
Pagina 1 di 2

A differenza di altri linguaggi di scripting lato server, PHP non offre una metodo intuitivo ed immediato per l'invio di email con allegati. Per questo motivo spesso si fa ricorso a delle apposite classi per gestire con maggior semplicità questa esigenza.
L'utilizzo di classi esterne, seppur comodo, non è indispensabile. Con un poco di pazienza, infatti, possiamo scrivere noi stessi il codice PHP per l'invio di email con allegati (cd: attachments).

L'allegato, infatti, altro non è che una sorta di "inclusione" di un file all'interno di una mail. Per fare ciò si ricorre al formato MIME multi-part che consente, appunto, di creare una mail suddivisa in diverse parti.
Nel nostro caso avremo una semplice parte testuale (il messaggio vero e proprio) ed una parte più complessa contenente l'allegato.

In questo articolo vedremo come creare una sorta di formmail evoluto in cui sarà possibile l'aggiunta di file in allegato tramite un semplice modulo html.
La nostra applicazione necessita di due file distinti: un semplice file .html contenente il form ,ed il file .php che svolgerà tutto il lavoro.
Precisamente, il nostro script PHP (che chiameremo formmail.php) dovrà occuparsi dei seguenti compiti:
  1. Recupero delle informazioni inserite nel form
  2. Recupero e verifica del file allegato
  3. Creazione del messaggio MIME multi-part
  4. Spedizione della email
Ma per prima cosa vediamo il file .html contenente il form:
<form action="formmail.php" method="POST" enctype="multipart/form-data">
<input type="hidden" name="destinatario" value="email@destinatario.com">
<table border="0">
<tr>
  <td>Tua Mail:</td>
  <td><input type="text" name="mittente" value="" /></td>
</tr>
<tr>
  <td>Oggetto:</td>
  <td><input type="text" name="oggetto" value="" /></td>
</tr>
<tr>
  <td>Messaggio:</td>
  <td><textarea cols="20" rows="4" name="messaggio"></textarea></td>
  </tr>
<tr>
  <td>Allega file:</td>
  <td><input type="file" name="allegato" /></td>
</tr>
<tr>
  <td colspan="2"><input type="submit" value="Invia" /></td>
</tr>
</table>
</form>
Non credo sia il caso di soffermarsi sul codice visto sopra. L'unica cosa degna di nota è l'aggiunta di
enctype="multipart/form-data"
al tag FORM. Questo accorgimento è necessario per la corretta gestione, tramite protocollo HTTP, del file allegato.
<<12>>

Versione di Stampa

Segnala ad un Amico!

Aggiungi ai Preferiti

RSS

Corsi online ed Ebook
Linux (Corso)Linux (Corso)
Guida completa al sistema open-source. A partire da 49 €.
MySQL (Corso)MySQL (Corso)
Gestione del database open-source. A partire da 39 €.
PHP (Corso)PHP (Corso)
Corso completo per la creazione di siti Web dinamici. A partire da 49 €.

 


© 2003 - 2010 Mr.Webmaster - Il portale dei Webmaster Italiani - Tutti i diritti riservati | Powered by IKIweb Internet Media S.r.l. - PIVA 02848390122