Conferma di recapito delle email con le librerie GD

Autore: carletto
Pubblicato il 14 aprile 2007

Post Correlati

  • Nessun post correlato

Vi siete chiesti come mai le immagini nelle email possono essere pericolose? Non è improbabile che alcune di esse servano a confermare ad un mittente malizioso che il vostro indirizzo esiste realmente per renderlo vittima di SPAM.

Naturalmente la mia intenzione non è certo indurvi ad andare a caccia di indirizzi email validi, bensì illustrare in modo semplice come si può ottenere la conferma che una email è stata vista dal destinatario e far capire perchè nei programmi per la gestione della posta elettronica è meglio non abilitare con leggerezza la visualizzazione delle immagini.

Prima di tutto accertatevi con phpinfo() di avere le librerie GD installate. Tramite queste librerie di php si possono creare delle immagini al volo con un semplice script.

Infatti nell’email in formato html non inserite una vera immagine, ma richiamate un file php in questo modo:

<img src="http://www.tuodominio.ext/img.php" alt="" />

il tag img punta al file contenente lo script che genera l’immagine, per questo esempio sarà in formato jpg di 1 pixel bianco.

Lo script oltre che a produrre l’immagine può fare anche altre cose, come inserire nel file ‘elenco_email.txt’ l’indirizzo email che passeremo tramite GET con una piccola modifica al tag img precedente:

<img src="http://www.tuodominio.ext/img.php" alt="" />

logicamente www.tuodominio.ext e account@host.ext sono utilizzati come esempio e vanno sostituiti rispettivamente con l’indirizzo http dove è posizionato il file img.php e l’indirizzo email che si desidera validare.

Nella stessa directory dove è posizionato il file img.php create il file elenco_email.txt con i permessi chmod settati a 777.

ecco il file img.php:

if ($fp) {

# inserisce data e orario del collegamento
$data_orario = "rn".date("d.m.Y - H:i:s") ;
fwrite($fp,$data_orario) ;

# inserisce nel file di testo l'indirizzo email passato tramite GET
if ( isset($_GET['email']) ) {
$email = " - ".$_GET['email'] ;
fwrite($fp,$email) ;
}

# chiude il file
fclose($fp) ;
}

# istanzia un'immagine di un pixel
$img = imageCreate(1,1);

# gli assegna il colore bianco
$back = imagecolorallocate($img,255,255,255);

# imposta gli header
header("Content-type: image/jpeg");

# invia l'output come immagine jpeg
imagejpeg($img);

# libera la memoria
imagedestroy($img);

Così quando il destinatario apre l’email e l’immagine viene visualizzata il suo indirizzo viene aggiunto al file ‘elenco_email.txt’.
Lo script estremamente banale produce un elenco di indirizzi email validi con data e orario di visualizzazione.

Se fate delle prove inviando l’email con un client osservate che quando l’immagine viene visualizzata durante la scrittura, già lo script inserisce l’indirizzo nel file di testo. Quindi attenti a non confondervi.

VARIANTI

Invece che un’immagine di un pixel bianco possiamo, con le funzioni GD, creare immagini più sofisticate oppure caricare un’immagine creata precedentemente.

Potrebbe anche essere utile controllare con le espressioni regolari la validità dell’indirizzo email ricevuto in modo da evitare eventuali falsi positivi.

Piuttosto che utilizzare un file di testo gli indirizzi potrebbero essere inseriti direttamente in un database.

CONSIDERAZIONI

Se vi è venuta l’acquolina in bocca pensando che potrebbe essere una soluzione per validare la ricezione delle email inviate con la funzione php() scordatevelo.
Ormai tutti i software per la gestione della posta elettronica disabilitano di default la visualizzazione delle immagini rendendo questo uso inaffidabile.
Anche le prove per far funzionare lo script sono state ardue a causa degli antivirus.

Con un po’ di fantasia si possono trovare altri usi per questo script, come ad esempio implementare un semplice sistema di statistiche, passando via GET il nome della pagina in cui è stata inserita l’immagine ed eventuali informazioni sul visitatore.

Questo articolo è stato pubblicato sabato, aprile 14th, 2007 ed inserito in PHP. You can follow any responses to this entry through the RSS 2.0 feed. Puoi lasciare un commento, o utilizzare il trackback da inserire nel tuo sito e nel tuo blog per citare questo post.

This website uses IntenseDebate comments, but they are not currently loaded because either your browser doesn't support JavaScript, or they didn't load fast enough.

3 Responses to “Conferma di recapito delle email con le librerie GD”

  1. Davide Tommasin on aprile 14th, 2007 at 18:31

    Fantastico post… lo terrò sicuramente in considerazione, non tanto per il fatto di poter usarlo per spammare, che oltre fastidioso, va contro la mia etica, ma quanto per poterne fare uso per statistiche come accennavi verso l’ ultima parte dell’ articolo.
    Bel lavoro ;)

  2. Raffaele on settembre 21st, 2009 at 10:07

    Post interessantissimo, ma le immagini per completare la procedura non sono visibili. E possibile riscriverlo ?

    Grazie

  3. KING_Hack on settembre 21st, 2009 at 10:21

    Grazie Raffaele per l segnalazione.
    In effetti ci sono dei problemi con la visualizzazione del codice nei vari post come questo.

    Appena possibile sistemeremo l asituazione.
    Torna a leggerci ;)

    Ciao

Leave a Reply

Feed RSS Blog Informatica Friuli Ci sono 1375 che leggono via Feed Reader


Iscriviti alla Newsletter


Creazione Siti e Servizi Web Friuli


Servizi Web in Friuli - Udine e Aquileia

Sei un' azienda, un libero professionista o un web designer del Friuli Venezia Giulia?
  • Ti serve, consulenza come azienda?
  • Vuoi proporci o cercare collaborazioni per la tua web agency?
  • Ti servono servizi web, un sito o un blog per la tua associazione?
Clicca qui per il modulo contatti

Servizi Web Open Source Aziende in Friuli Venezia Giulia - Udine Aquileia

Recensioni e Guide Utili

EBook 3 Consigli Su Come Personalizzare WordPress
EBook 3 Consigli Su Come Personalizzare WordPress Questo ebook è il primo pubblicato da Informatica Friuli dedicato alla personalizzazione di certi aspetti dei template per WordPress. Questo ebook non deve dare grosse aspettative ...

Continua a leggere...
Come Scegliere L’ Hosting Giusto Per Il Posizionamento
Come Scegliere L’ Hosting Giusto Per Il Posizionamento Non c'è hosting, spazio web dove hai caricato i file del tuo sito, che ti da la garanzia al 100% di posizionarti nella serp di Google al primo posto. [caption id="" ...

Continua a leggere...
NewsMastering con WordPress
NewsMastering con WordPress Prendo spunto da quanto si può leggere su MasterNewMedia per quanto riguarda il Newsmaster come la figura che filtra e fornisce ...

Continua a leggere...

Visitatori IF

Licenza IF

Tag

aquileia blog campi personalizzati come scrivere comunicati stampa comunicazione creazione sito custom fields editoria editori online facebook feed feedwordpress fidelizzare focus friuli hackcamp hosting hosting seo if linux mail marketing Marketing masternewmedia myspace nerd newsletter newsmaster Notizie IF plugin wordpress primi sui motori restyling sito robin good SEO servizi web sito nerd sitonerd social network template theme wordpress udine webdesign web design web service wordpress