Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2007
    Messaggi
    13

    Script php per ricevere pagine web in casella di posta (da interfaccia WEB)

    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);

    }

    ?>

  2. #2
    cioè fammi capire :master: te tramite una pagina web scrivi il tuo email e lui ti manda una email con allegato cosa? il file .htm di un sito? ...curiosa come idea
    Farmacia di Jarno - le mie pillole: Cookie [#780810], Dom4Php4 [#1123236], Fade [#1139489], getCssProperty [#1152911]
    Inchinatevi difronte al Prof! Nacchio!

    A me pare che l'uomo vada avanti con la retromarcia

  3. #3
    Utente di HTML.it L'avatar di lnessuno
    Registrato dal
    Feb 2002
    Messaggi
    2,732
    Originariamente inviato da Jarno
    cioè fammi capire :master: te tramite una pagina web scrivi il tuo email e lui ti manda una email con allegato cosa? il file .htm di un sito? ...curiosa come idea
    oppure, manda una mail in formato htm con la pagina stessa del sito... io avevo fatto uno script simile per la ditta in cui lavoravo un paio d'anni fa

    poi ho dimenticato di portarmelo via quel codice, quando mi sono licenziato

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2007
    Messaggi
    13
    Ti manda la pagina che vuoi
    Provalo
    Ciao

  5. #5
    si ma lui parla anche di allegati :master:

    bella come idea, mi sembra che in qualche browser ho visto qualcosa del genere, ma come la mettiamo con la compatibilità? mica tutti i client di posta sono come outlook express che legge cani e porci ....anzi, la maggior parte legge solo html 1.0 (si fa per dire) senza pensare a chi legge tramite webmail che non so cosa causerebbe

    a volte diventa problematico inviare una immagine embedded ...figuriamoci il codice di un'intera pagina...

    comunque illustraci che l'idea è bella
    Farmacia di Jarno - le mie pillole: Cookie [#780810], Dom4Php4 [#1123236], Fade [#1139489], getCssProperty [#1152911]
    Inchinatevi difronte al Prof! Nacchio!

    A me pare che l'uomo vada avanti con la retromarcia

  6. #6
    Utente di HTML.it
    Registrato dal
    Aug 2007
    Messaggi
    13
    La difficoltà a riprodurre la pagina web nella sua interezza è molto complesso e poi i copyright possono creare problemi, credo.
    Certo se chiedi www.php.net ricevi la home page copiata fedelmente ma se chiedi la pagina di tiscali ricevi una pagina web molto scarna e senza immagini.
    Pensa allo studente che deve fare ricerche bibliografiche e magari è in internet point a pagamento...
    ma lo scopo è puramente didattico ovvero come scorrono i dati tra pagine e file testo con php
    Ciao

  7. #7
    figo :rollo:
    Farmacia di Jarno - le mie pillole: Cookie [#780810], Dom4Php4 [#1123236], Fade [#1139489], getCssProperty [#1152911]
    Inchinatevi difronte al Prof! Nacchio!

    A me pare che l'uomo vada avanti con la retromarcia

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.