Newsgroup: it.comp.os.linux.sys
Titolo: server di posta con postfix?

Buongiorno a tutti, sarò breve.
Sto gestendo un applicativo su un server linux e volevamo dare agli 
utenti dell'applicativo la possibilità di farsi mandare posta a 
utente@url_server_applicativo.com
.
l'applicativo utilizza un database (ad ora mysql), e volevamo avere la 
possibilità di prendere i dati dal db e mostrarli all'utente tramite 
pagine dell'applicativo stesso.
Gli utenti NON potranno spedire posta tramite questo sistema, solo 
riceverla, e le email dovrebbero andare direttamente su questo db.
Qual'è la soluzione ottimale a ciò?
In passato ho creato un paio di mailserver e mi pare di ricordare che 
postfix potesse essere configurato per salvare le email su db.
C'è qualcosa di migliore/più semplice/più performante da poter usare?
Grazie per aver letto.

 postfix potesse essere configurato per salvare le email su db.
Uh?
-- 
Professional System & Network Sarcazzer
http://bofhskull.wordpress.com/

 
forse sono stato troppo breve....
l'idea mia era di configurare utenti e altro con postfix però all'atto 
della ricezione della mail invece che salvarla su file (mbox o altro) mi 
pare di ricordare che potesse essere salvata su db...magari ricordo male 
ma se così fosse, sarebbe una soluzione degna di nota?
 >Una transport ad uno script che pastrugni la mail e la sbatta in DB 
 >come ritieni più opportuno..
si ma chi prende la connessione, riceva la mail e la salva (o la passa 
ad un qualcosa)?

>> postfix potesse essere configurato per salvare le email su db.
Ti confondi con maildb

CtRiX ha scritto:

eppure ricordavo...in questo caso che faresti quindi?
lasci a postfix il compito di scrivere su file e ti script che quando 
l'utente accede all'applicativo esso si legge la cartella delle mail e 
le gestisce?

 ad un qualcosa)?
* 
master.cf
 *
rassegna   unix   -    n    n    -        10      pipe
  flags=Rq user=pippo:dialer argv=/home/pippo/bin/ArchiviaRassegna.py -f ${sender} -- ${recipient}
* transport *
rassegna.ciccio.it
   rassegna:localhost
* ArchiviaRassegna.py *
#!/usr/local/bin/python
import sys
import psycopg2
for line in sys.stdin.readlines():
    ...
se vuoi lavorare con gli allegati, in Python utilizzi il pkg email ...
saluti
-- 
Never try to teach a pig to sing.
It wastes your time and annoys the pig.

 ad un qualcosa)?
1) definisci un dominio da associare a questa "trattazione",
possibilmente diverso dall'hostname principale della macchina. Istruisci
postfix affinchè accetti il relay la posta ad esso destinata...
 /etc/postfix/
main.cf
:
  relay_domains = $transport_maps
  transport_maps = hash:/etc/postfix/transport
2) configuri la transport_map affinchè il dominio sia associato ad una
transport da te definita:
 /etc/postfix/transport:
  applicativo.miodominio.tld	mytransport
3) definisci la transport in master-cf affinchè punti ad uno script
opportuno:
 /etc/postfix/
master.cf
:
  mytransport      unix    -       n       n       -       -       pipe
    flags=DRhu user=nobody argv=/usr/local/bin/
myscript.pl
 ${recipient}
A questo punto ogni mail diretta a ute...@applicativo.miodominio.tld
(che ovviamente deve risolvere ed essere correttamente puntao da MX, ecc
ecc) scatenerà l'esecuzione di /usr/local/bin/
myscript.pl
, a cui verrà
passato come argomento ute...@applicativo.miodominio.tld (per
consentirti di sapere da subito a chi era diretta) e in STDIN il
contenuto della mail.
Il resto è lasciato come esercizio al lettore... :-P


 contenuto della mail.
Antonio 6sette ha scritto:
 > * 
master.cf
 *
 > rassegna   unix   -    n    n    -        10      pipe
 >   flags=Rq user=pippo:dialer argv=/home/pippo/bin/ArchiviaRassegna.py 
-f ${sender} -- ${recipient}
 >
 > * transport *
 > 
rassegna.ciccio.it
   rassegna:localhost
 >
 > * ArchiviaRassegna.py *
 > #!/usr/local/bin/python
 >
 > import sys
 > import psycopg2
 >
 > for line in sys.stdin.readlines():
 >     ...
Grazie ad entrambi...stessa risposta da due fonti diverse e contando che 
mezz'ora fa ho posto la domanda non potevo sperare di meglio; veloci e 
precisi....

 Il resto è lasciato come esercizio al lettore... :-P
modo alternativo: aliases (che si fa assai prima)
(da man aliases)
 |command
 Mail  is piped into command. Commands that contain special characters,
 such as whitespace, should be enclosed between double quotes. See local
 (8) for details of delivery to command.


Anche, ma ti lega un poco nella gestione degli utenti, dato che dovrai
creare una entry in /etc/aliases per ogni singolo utente.
A meno di creare una mappa di lookup si DB ed aggiungerla in alias_maps
(e garantendo la mancanza di collisioni con le utenze locali), ecc.
La via della transport è un pelo più flessibile, dato che tutto il
dominio diviene "roba dell'applicativo"...
Però la strada è ovviamente altrettanto valida...


 riceverla, e le email dovrebbero andare direttamente su questo db.
Cioe`, devi salvare le email (e non solo i dati degli utenti) su database? 
Allora quello che ti serve e` dbmail
Enrico

 C'č qualcosa di migliore/piů semplice/piů performante da poter usare?
IMAP locale. Se non hai migliaia di utenti con migliaia di mail per
ciascuno, vai sicuro con imap+maildir.
-- 
echo onailimissaM | awk 'BEGIN { FS = "" }
{ for (i = NF; i >= 1; i-- )
  printf $i }'; echo

Enrico 'Henryx' Bianchi ha scritto:

vedrò di capire se funziona come dico io comunque si l'idea è quella, 
così posso fare (o fanno) un qualcge script che si integra con 
l'applicativo e mostra le email e il contenuto delle stesse, a parte il 
formato della mail stessa penso che il tutto sia piuttosto banale da 
implementare (parlo del "frontend" per leggerle)