Appunti sulla possibilità di far scaricare, a webmail, la posta da più di un account di posta (Bozza) (Documento scaduto)

Aggiungere possibilità di includere delle importazioni messaggi da server POP3 nel normale controllo posta di webmail.

Appunti su migliorie

Attualmente la gestione degli account di posta aggiuntivi da scaricare utilizza la tabella email_imports (i record con il campo autodownload='y').
Dato che i dati necessari all'import da un server pop3 e quelli per il controllo/download della posta (per il download della posta) sono analoghi, è inutile definire una tabella differente per questi due insiemi di dati.

Utilizzo di una sola tabella

Se si vuole separare (dal punto di vista dell'utente) la definizione degli account da controllare/scaricare da quella delle importazioni è possibile separare solo le maschere:

  • una sarà quella attuale degli import (con il campo hidden autodownload='n').
  • l'altra sarà una nuova maschera per definire gli account pop3 da controllare/scaricare (con il campo hidden autodownload='y'), questa maschera potrebbe essere definita dal profilo utente (al posto dei campi relativi dell'unico account pop3 disponibile adesso), oppure potrebbe essere definito direttamente da webmail con una nuova icona in displayheaders relativa all'impostazione degli account di posta.

Con questa gestione a maschere separate, la chiave per sostituire i dati in DbWrite dovrebbe diventare:

owner='$auth_user' and id='$id' and autodownload='y/n'

L'attuale gestione non dovrebbe cambiare, tranne il fatto di poter eliminare la definizione dell'account pop3 dal profilo utente (bisognerebbe ovviamente creare un'utility per spostare le definizioni dal profilo utente a email_imports

Utilizzo di due tabelle

Se si vuole utilizzare due tabelle separate: una per gli imports e l'altra (nuova) per gli account da controllare/scaricare, oltre alla nuove maschere per la nuova tabella, occorre sostituire, nel codice di checkmsg e webmail, l'utilizzo di email_imports con la nuova tabella per gli account pop3.

Modifiche apportate il 12/04/2009

Al database

Rev. 1.62 di DBStructure.pm
Aggiungere un campo alla tabella email_imports chiamato autodownload.

checkmsg

Rev. 1.74
In checkmsg occorre intervenire su _ch_new_email(), estraendo la parte di controllo della casella pop3 in un'altra sub e richiamarla, oltre che per la casella standard, anche per le importazioni abilitate alla lettura automatica.

webmail

Rev. 1.299
Allo stesso modo, in webmail occorre:

  • Alla riga 5657 abilitare la cancellazione messaggi nel caso dell'importazionoe messaggi con un || $on{action} eq 'importaction' (perché adesso l'importazione dei messaggi è esclusa, visto che nell'importazione è possibile specificare se lasciare o meno i messaggi su server?)
    ## Remove messages from server (excluding import case)
    if ( ! $data{keep_messages} &&
	 ($on{action} eq 'getnewmessages' || $on{action} eq 'updateheaderdb')
       )
     { $pop->Delete($_) for 1 .. $num_of_msgs }
  • In progresstask occorre sostituire la chiamata ad updateheaderdb() con la chiamata ad una nuova funzione che, oltre all'account di default, faccia scaricare anche dalle configurazioni di importazione abilitate all'autodownload.
    • alla riga 134;
    • alla riga 176;
    • alla riga 186;

Nota: i numeri di riga fanno riferimento alla versione 1.289 nel repository CVS.
In questa nuova funzione spostare l'applicazione dei filtri email.

appunti sulla realizzazione

Creata funzione _filter_inbox_messages per effettuare il filtro dei messaggi in inbox. Essa ritorna il numero di messaggi filtrati.

La funzione updateheaderdb ritorna il numero di messaggi scaricati e il numero di messaggi cestinati in quanto spam.