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...>: ...