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

Home ~ Php :: Un client di posta elettronica in PHP. Parte I. :: Indice Php

Un client di posta elettronica in PHP. Parte I.

Categoria: Php Inserito il: 15-11-2006 Stampa (13985 click)

Ora che conosciamo le funzioni IMAP pių importanti per la gestione della posta elettronica, possiamo accingerci nella costruzione del nostro piccolo webmail in PHP; l'applicazione che andremo a creare rappresenta un "modello base" in grado di mostrare una lista delle mail contenute nella mailbox, visualizzare gli allegati, se presenti e cancellare i messaggi indesiderati.

Innanzitutto, creeremo un file di configurazione contenente i parametri per la connessione al server di posta, lo chiameremo 'cnf.php':

<?
$username = "tuauser";
$password = "tuapass";
$server = "pop.tuopop.it";
$conn = @imap_open("{".$server.":110/pop3}INBOX",$username, $password);
?>
Ora passeremo alla creazione della pagina 'index.php' deputata alla visualizzazione dei messaggi; grazie ad essa sapremo chi ci manda l'e-mail, l'oggetto della stessa e la data di invio; se volessimo potremmo leggere il testo del messaggio cliccando su un apposito link, diversamente, avremo a disposizione un collegamento alla pagina per la cancellazione delle e-mail che creeremo in seguito:

<?php
set_time_limit(120);
@include 'cnf.php';
$intestazioni = @imap_headers($conn);
$var = "0";

if ($intestazioni == 0)
{
  echo "Nessun messaggio in arrivo.<br />\n";
}else{
  while (@list ($k, $val) = @each ($intestazioni))
  {
    $var = $var+1;
    $f_over = @imap_fetch_overview($conn, $var, 0);
    while(@list($k, $v) = @each($f_over))
    {
      echo "<b>Inviato da:</b> ".$v->from."<br>\n 
      <b>Oggetto:</b>" .$v->subject."<br>\n
      <b>Data:</b> ".$v->date."<br />\n
      <a href=\"show.php?id=".$var."\">Leggi</a> ::
      <a href=\"delete.php?id=".$var."\">Del</a><br /><br />\n";
    }
  }
}
@imap_close($conn);
?>

All'inizio del listato abbiamo allungato il tempo che PHP concede per l'esecuzione di un'applicazione, di default generalmente stabilito in 30 secondi, questo per evitare che il nostro script vada in timeout per motivi che non riguardano il funzionamento del server di posta.

Per ogni messaggio, contraddistinto da un 'Id', abbiamo previsto un collegamento ai file 'show.php', che mostra il testo della mail, e 'delete.php' che si occupa delle rimozioni di messagi dal server.
Vedremo il funzionamento di questi file nei prossimi articoli.

Attenzione: questo articolo č stato concesso in esclusiva per la pubblicazione a Mrwebmaster.it; ne č vietata la riproduzione,
anche parziale, senza l'esplicito consenso dell'autore e della redazione di Mrwebmaster.it.

Cerca nel sito
Per sito
Sviluppatore di applicazioni Web con competenze evolute nella progettazione delle basi di dati, autore per alcune delle pių importanti testate on line dedicate alla manualistica tecnica (HTML.it, MrWebmaster.it, Edit) e consulente per l'e-learning.
Tutte le categorie
Tutorial Random
Creazione di un indice FULL TEXT in una tabella MySQL
Le ricerche FULL TEXT sono disponibili in MySQL per le tabelle MyIsam (MySQL Indexed Sequential Access Method). Secondo questo metodo,... Leggi l'articolo
Corsi online per sviluppatori
Corsi per Webmaster, Web Designer, Programmatori, Grafici e Sistemisti