Ciao, ho tagliato codice php qua e là in giro per internet (non è tutta roba mia) e ho messo su uno script funzionante che permette di prelevare le pagine web e spedirle via email.
Utilizza la libreria phpmailer per l'invio degli allegati oltre a file testo come database; non mysql.
Ha dei controlli molto semplici ma efficaci in base hai quali se si superano le 10 richieste con lo stesso IP lo script si blocca (evitiamo lo spam);

Certo, chissà quanti errori contiene e anche l'utilità è discutibile anche a fronte di ricezione di pagine web prive della originale veste grafica ... ma per un uso estemporaneo e per didattica mi è servito molto.
Lo sposto pensando solo di far cosa gradita e per ricevere suggerimenti e critiche.
Ciao
Axone


<?php

$ip=$_SERVER['REMOTE_ADDR'];
//$ip = getenv("REMOTE_ADDR");
$file = fopen("guest.txt", "a");
fwrite ($file, "$ip\r\n");
fclose($file);
$key = $ip;
$search = array();
//fwrite($fp,"pippo\r\npluto");
//cerchiamo il file su cui compiere la ricerca
$file = file('guest.txt');
foreach ($file as $riga) {
//separiamo le righe trasformandole in records
//su cui compiere la ricerca
$result = explode(',', trim($riga));
for ($j=0; $jcount($result); $j++) {
//troviamo le corrispondenze
if ($result[$j]==$key) {
//inseriamo il record trovato nell'array
array_push($serch, $riga);
}
}
}
//se i risultati della ricerca superano la quota giornaliera lo script si blocca
//appare messaggio informativo
for ($j=10; $j<count($search); $j++)
$mio="15";
if ($serch[$j]==$mio) {
echo""
//echo "<a href=http://www.php.net>NON HAI SUPERATO IL LIMITE GIORNALIERO</a>\n";
} else {
//messaggio alternativo in assenza di risultati cancello le variabili Globali
echo "Attenzione, per oggi Hai superato il limite disponibile al Tuo IP!!";
//echo "<a href=http://www.nuovosito.it>HAI SUPERATO il limite giornaliero</a>\n";
unset($_SERVER['REMOTE_ADDR']);
unset($_POST['email']);
}
require("class.phpmailer.php");

if (!$p_file = fopen($_POST['url'],'r'))

{

echo "Spiacente, non posso leggere il tuo Indirizzo Web ";

} else {

while(!feof($p_file))

{

$linea = fgets($p_file, 4096);

$nuovastringa = $linea;

$nomefile= "web-TO-mail.html";

$miofile= @fopen ($nomefile, "a")

or die ("imposibile aprire file");

flock($miofile, LOCK_EX);

@fwrite ($miofile, $nuovastringa)

or die ("imposibile scrivere file");

flock($miofile, LOCK_UN);

}

}

@fclose($p_file);

@fclose($miofile);

$file=$_POST['url'];


//codice di phpmailer
//$mail->AddAddress('$AddAddressmio');

$AddAddressmio= ($_POST['email']);

$ip=$_SERVER['REMOTE_ADDR'];

$mail = new PHPMailer();

$mail->IsSMTP(); // telling the class to use SMTP

$mail->Host = "mail.serversmtp.org"; // SMTP server

$mail->From = "Web-To-Mail@tuodominio.org";

$mail->AddAddress("$AddAddressmio"); //destinatario 1

//$mail->AddAddress("info@me.net"); //destinatario 2

$mail->Subject = "$ip";

$mail->Body = "$file";

$mail->WordWrap = 50;

$mail->AddAttachment("$nomefile");

$mail->IsHTML(true);

if(!$mail->Send())

{

echo "
Messaggio Non Inviato: Hai superato la quota giornaliera o hai commesso errori nel form??? In assenza di specifiche informazioni (vedi sopra) hai commesso errori di sintassi!!!";

//echo "Errore Invio Mail Controlla form: " . $mail->ErrorInfo;

}

else

{

//echo "Messagio Spedito";

}

@header ("Location: http://www.vaidovevuoi.net/thank.php");

$file= $nomefile;

if (file_exists($nomefile)) {

unlink ($nomefile);

}

?>