Claudiogarau.it :: Tutorials & Scripts, PHP, Linux and more. :: Mappa del sito
Tutorials & Scripts, PHP, Linux and more.

Home :: Php :: Indice Php

Inviare e-mail con allegato in PHP

Inserito il: 29-05-2007


In questo articolo presenteremo uno script che consente di inviare e-mail complete di allegato tramite il classico sistema form to mail, in pratica creeremo uno script costituito da due parti: una relativa al form per l'inserimento dei dati (destinatario, mittente, oggetto, testo e allegato), l'altra relativa al codice dinamico che si occuperà di raccogliere i parametri e di inviarli al destinatario sotto forma di messaggio di posta elettronica.

Ecco il codice della nostra piccola applicazione:
<?php
if (isset($_POST["submit"])){
$a = $_POST['a'];
$da = $_POST['da'];
$obj = $_POST['obj'];
$testo = $_POST['testo'];

  $attachment = $_FILES['attachment']['tmp_name'];
  $attachment_type = $_FILES['attachment']['type'];
  $attachment_name = $_FILES['attachment']['name'];
  
$intestazioni = "From: " . $da;
  $messaggio = "";

if (is_uploaded_file($attachment))
  {
  $file = fopen($attachment,'rb');
  $data = fread($file, filesize($attachment));
  fclose($file);
  $data = chunk_split(base64_encode($data));
  $rand = md5(time());
  $boundary = "==Multipart_Boundary_x{$rand}x";
  
  $intestazioni .= "\nMIME-Version: 1.0\n";
  $intestazioni .= "Content-Type: multipart/mixed;\n";
  $intestazioni .= " boundary=\"{$boundary}\"";
  
  $messaggio .= "This is a multi-part message in MIME format.\n\n";
  $messaggio .= "--{$boundary}\n";
  $messaggio .= "Content-Type: text/plain; charset=\"iso-8859-1\"\n";
  $messaggio .= "Content-Transfer-Encoding: 7bit\n\n";
  $messaggio .= $testo . "\n\n";
  $messaggio .= "--{$boundary}\n";
  $messaggio .= "Content-Disposition: attachment;\n";
  $messaggio .= " filename=\"{$attachment_name}\"\n";
  $messaggio .= "Content-Transfer-Encoding: base64\n\n";
  $messaggio .= $data . "\n\n";
  $messaggio .= "--{$boundary}--\n";
  }
  else{
  $messaggio = $testo;
 }

if (mail($a, $obj, $messaggio, $intestazioni))
  {
  echo "Messaggio inviato con successo.";
  }else{
  echo "Si &egrave; verificato un errore nell'invio.";
  }
 }else{
  ?>

<form action="<? echo $_SERVER['PHP_SELF']; ?>" 
  method="POST" enctype="multipart/form-data">
  Destinatario:
<input type="text" name="a"><br>
  Mittente:
<input type="text" name="da"><br>
  Oggetto:
<input type="text" name="obj"><br>
  Messaggio:
<textarea name="testo"></textarea><br>
  Allega file:
<input type="file" name="attachment"><br>
<input type="submit" name="submit" value="Invia" />
</form><?
  }
?>


Indice Php
Apache (19)
CGI (11)
Java (12)
Jsp (16)
Linux (18)
Manuali (4)
Perl (12)
PostgreSQL (12)
Tomcat (10)
Unix (12)
Libri (172)
Forum


Linux Fedora 3. Guida professionale. Con DVD-ROM
Linux Fedora 3. Guida professionale. Con DVD-ROMDopo la versione 9, Red Hat Linux si è diviso in due. Un prodotto esclusivamente "Business" chiamato Red Hat Linux...
Maggiori dettagli

Una funzione per scaricare file
Quella che presentiamo in questo breve articolo è una funzioncina che può tornare utile se si vuole simulare tramite le... Leggi l'articolo



Aiutiamo l'Abruzzo - Terremoto del 6 Aprile 2009 - Invia anche tu un SMS vuoto al numero 48580 al costo di 1 euro

Aspcenter.net
Mrwcorsi.it
Mrwebmaster.it
4 You Gratis.it
AG web solutions
Ceptive.it
Jacoz.net
Giochi Gratis
Pierotofy.it
Giornale Webmaster
Manuali
Morpheusweb.it
SEO Directory
Design multimedia
proBLOG
Visual designer
Forum per Webmaster




Pagina caricata in 0.0001 secondi. | Per informazioni | ©CG di Claudio Garau P.IVA 03219430927 RSS