# [RISOLTO] Spostare emails - Postfix + ProcMail

## maruscya

Ciao a tutti quanti. 

Per la prima volta mi trovo a lavorare con IMAP e un server linux che non faccia solo da gateway mail 

Ho un'account dove ricevo diverse email, vorrie far si che in base al soggetto / mittente o altro le mail vengano spostate dalla dir principale in una sotto directory dell' account imap. 

Una cosa del tipo "Se l'email contiene nel mittente @dominio1.com sposta nel folder cliente1" 

Questo lavoro andrebbe fatto all' arrivo della mail stessa... credo che un lavoro del genere possa essere fatto da "procmail" .... ma non ho trovato esempi significativi nel man. 

Potete darmi una mano ? 

Grazie mille !!Last edited by maruscya on Tue Mar 28, 2006 2:11 pm; edited 1 time in total

----------

## .:deadhead:.

Perchè non fai fare questo lavoro al client?

----------

## makoomba

usa procmail o maildrop.

in rete trovi 49090934879823 esempi.

----------

## maruscya

perche allo stesso account devono accedere piu' client... quindi se lo faccio lato server non devo passare ogni volta i client per le eventuali modifiche. 

Vorrei fare una specie di public folder di exchange, se hai presente... 

ma senza spedere milioni per exchange  :Smile: 

@makoomba: Grazie per il consiglio. Gia avere la certezza di cosa usare mi limita molto il campo di ricerca. 

Mi riservo di rompere ancora in caso di qualche problemino  :Smile: 

----------

## PboY

http://www.gentoo.org/doc/it/guide-to-mutt.xml

in questa guida c'e' un file .procmailrc semplice che fa quello che vuoi tu... cambialo  :Smile: 

----------

## maruscya

 *PboY wrote:*   

> http://www.gentoo.org/doc/it/guide-to-mutt.xml
> 
> in questa guida c'e' un file .procmailrc semplice che fa quello che vuoi tu... cambialo 

 

Ho copiato dall'esempio un po' di cosette 

```

MAILDIR=$HOME/.maildir

LOGFILE=$HOME/.procmaillog

LOGABSTRACT=no

VERBOSE=on

:0

* ^Subject:.*(credit|cash|money|debt|sex|sale|loan)

MAILDIR/spam

```

pero'  mi sfugge un cosa. L'email arriva al server... e postfix la passa a MailScanner la processa da virus e spam e la rida' a postfix che la salva nella mailbox dell' utente (formato .maildir) ... 

Ma procmail quando parte ? Mi sa che non ho ben chiaro il meccanismo di come lavora procmail ! 

Lanciando a mano procmail... non ottengo nulla di particolare e non ho trovato opzioni da passargli che posso fare al caso mio...

MaruscyA

----------

## makoomba

devi impostarlo come local delivery per postfix.

http://www.postfix.org/faq.html#procmail

----------

## maruscya

Ora funziona  ... procmail filtra in modo corretto i msg e questi ultimi vengono spostati... 

C'e' ancora qualche inghippo pero'. Da outlook ho creto un folder spam. Nella home dell' utente mi trovo la directory .maildir/.spam corretta con le sue sottocartelle new, cur e tmp. 

Mando un msg di prova e questo viene processato da procmail correttamente, ma il msg viene spostato in un file chiamato "Xxyz" nel folder .spam 

Ovviamente il msg non viene visualizzato da outlook. 

Il problema credo che sia dovuto al fatto che procmail scrive i msg in un formato diveso da quello di courier-imap 

Ora sto facendo un po' di prove per cercare di capire come procmail scrive i msg..

Questo e' il log di procmail 

```

procmail: [7232] Tue Mar 28 13:49:36 2006

procmail: Match on "^Subject:.*(credit|cash|money|debt|sex|sale|loan)"

procmail: Assigning "LASTFOLDER=MAILDIR/.spam"

procmail: Opening "MAILDIR/.spam"

procmail: Error while writing to "MAILDIR/.spam"

procmail: Assigning "LASTFOLDER=/home/users/report-clienti/.maildir/new/1143546576.7232_0.ITEXMIL02"

procmail: Notified comsat: "report-clienti@0:/home/users/report-clienti/.maildir/new/1143546576.7232_0.ITEXMIL02"

From andrea.bazzanini@premiereglobal.com  Tue Mar 28 13:49:36 2006

 Subject: loan

  Folder: /home/users/report-clienti/.maildir/new/1143546576.7232_0.IT     2427

```

Last edited by maruscya on Tue Mar 28, 2006 12:07 pm; edited 1 time in total

----------

## PboY

 *maruscya wrote:*   

> 
> 
> Il problema credo che sia dovuto al fatto che procmail scrive i msg in un formato diveso da quello di courier-imap

 

se usi maildir come formato, ricordati quando specifichi la directory dove spostare il messaggio, di avere sempre alla fine "/"

es.

```

$MAILDIR/.spam/

```

e vedi che i messaggi te li salva correttamente  :Smile: 

edit : se non sbaglio nel tuo file hai anche MAILDIR/.spam , non dovrebbe ssere $MAILDIR/.spam/ ?

----------

## maruscya

Inizio a sentirmi un po' stupido...

Di seguito ecco tutti i files di configurazione che sto usando in questo momento 

Ecco il .procmailrc, molto semplice... se nel soggetto c'e' una delle parole indicate allora sposta in spam.

```

MAILDIR=$HOME/.maildir   

LOGFILE=$HOME/procmaillog

LOGABSTRACT=yes

VERBOSE=on

:0

* ^Subject:.*(credit|cash|money|debt|sex|sale|loan)

  MAILDIR/spam/

```

Questo e' il log di quello che succede. La regola funziona bene ma non riesce a scrivere nel folder spam. Per prova o cancellato il folder nella speranza che procmail ricreasse in modo autonomo la struttura della mail. Manco a dirlo questo non succede e scrive il msg nell'inbox

```

procmail: [7548] Tue Mar 28 14:05:33 2006

procmail: Match on "^Subject:.*(credit|cash|money|debt|sex|sale|loan)"

procmail: Unable to treat as directory "MAILDIR/spam"

procmail: Assigning "LASTFOLDER=MAILDIR/spam"

procmail: Opening "MAILDIR/spam"

procmail: Error while writing to "MAILDIR/spam"

procmail: Assigning "LASTFOLDER=/home/users/report-clienti/.maildir/new/1143547533.7548_0.ITEXMIL02"

procmail: Notified comsat: "report-clienti@0:/home/users/report-clienti/.maildir/new/1143547533.7548_0.ITEXMIL02"

From andrea.bazzanini@premiereglobal.com  Tue Mar 28 14:05:33 2006

 Subject: loan

  Folder: /home/users/report-clienti/.maildir/new/1143547533.7548_0.IT     2428

```

A questo punto non so piu' cosa fare !!! 

L'utente deve fare parte di qualche gruppo particolare per usare procmail ???

----------

## maruscya

Specificando il percorso assoluto sembra funzionare

```

MAILDIR=$HOME/.maildir   

LOGFILE=$HOME/procmaillog

LOGABSTRACT=yes

VERBOSE=on

:0

* ^Subject:.*(credit|cash|money|debt|sex|sale|loan)

  /home/user/report/.maildir/spam/

```

Che sia la variabile MAILDIR che fa casino ?

EDIT: come percorso ho specificato .maildir/<folder> e sembra andare !Last edited by maruscya on Tue Mar 28, 2006 1:19 pm; edited 1 time in total

----------

## makoomba

```
$MAILDIR/spam/ 
```

----------

## maruscya

Il problema sembra risolto  :Smile: 

Ora i msg vengono smistati in modo corretto !

----------

