Is there an easy(-ish) way to get a similar workflow, having the Server retrieve emails and add them to the local IMAP server?
La chiave è usare il dovecot-lda programma ( lda per l'agente di consegna locale), che può scrivere messaggi nel server IMAP.
Ad esempio, se utilizzi getmail , potresti fornire una sezione [destination] che richiama dovecot-lda :
[destination]
type = MDA_external
path = /Applications/Server.app/Contents/ServerRoot/usr/libexec/dovecot/dovecot-lda
arguments = ("-d", "USERNAME")
allow_root_commands = True
Tieni presente che allow_root_commands è richiesto perché getmail dovrà essere eseguito come root per richiamare dovecot-lda .
A parte: il percorso per dovecot-lda è specificato nel file di configurazione postfix /Library/Server/Mail/Config/postfix/master.cf :
dovecot unix - n n - 25 pipe
flags=DRhu user=_dovecot:mail argv=/Applications/Server.app/Contents/ServerRoot/usr/libexec/dovecot/dovecot-lda -d ${user}
What about server-side filtering? How can that be setup?
Dovecot è configurato per l'uso di Sieve ( /Library/Server/Mail/Config/dovecot/conf.d/90-sieve.conf ). Le regole di setacciamento sono memorizzate in /Library/Server/Mail/Data/rules/%u/dovecot.sieve (vedi /Library/Server/Mail/Config/dovecot/conf.d/90-sieve.conf ), che sfortunatamente non è facilmente scrivibile.
Per installare regole Sieve aggiuntive, utilizza un editor Sieve, ad es. Setaccia i clienti . Si noti che è necessario utilizzare la porta corretta (Server.app ha come impostazione predefinita la porta 4190; vedere /Library/Server/Mail/Config/dovecot/conf.d/20-managesieve.conf ).
Purtroppo, dopo aver passato troppo tempo a provare a farlo funzionare, ho rinunciato a utilizzare un client Sieve.
Se sei root, crea un file .sieve (verifica la sintassi con sievec ), quindi copia su /Library/Server/Mail/Data/rules/%u/dovecot.sieve . Nota: %u è il GUID dell'utente, non il loro nome utente (vale a dire /Library/Server/Mail/Data/mail/%u dovrebbe esistere) e /Library/Server/Mail/Data/rules/%u deve disporre delle autorizzazioni 775 (modificabile dall'utente mail ).
Se non sei root ... ottieni root e vedi sopra.
Quando sono attive le regole di Sieve, /Library/Logs/Mail/mail-info.log conterrà una riga simile a:
mail-info.log:Feb 13 17:14:52 lda(pid 6108 user USERNAME-NOT-GUID): Info: sieve: msgid=<whatever...>: ...