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 (6)
Perl (12)
PostgreSQL (12)
Tomcat (10)
Unix (12)
Libri (0)
Forum



Automatizzare i Backup di MySQL con PHP
In questo tutorial presenteremo uno script che permette di eseguire giornalmente il backup di un database MySQL; l'applicazione non fà... Leggi l'articolo


Corsi per Webmaster, Web Designer, Programmatori, Grafici e Sistemisti

Mrwcorsi.it
Mrwebmaster.it
4 You Gratis.it
Ceptive.it
Giochi Gratis
Pierotofy.it
Giornale Webmaster
Manuali
Morpheusweb.it
SEO Directory
Visual designer
Forum per Webmaster




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