Eu instalei recentemente o CentOS 8 depois de fazer backup do meu sistema CentOS 7 e parecia ter estragado algo ao tentar colocar o cyrus-imapd de volta em funcionamento. O correio é entregue corretamente, mas o filtro de correio de peneira está reclamando que as várias caixas de correio não existem e, portanto, não arquiva o correio corretamente. Por exemplo, se eu enviar uma mensagem na rede local:
[root@buttercup quota]# mail [email protected]
Subject: Test Message
Test
.
EOT
O registro de e-mail mostrará:
Dec 6 12:51:39 buttercup postfix/pickup[27670]: 07FBA216825B: uid=0 from=<root>
Dec 6 12:51:39 buttercup postfix/cleanup[27810]: 07FBA216825B: message-id=<[email protected]>
Dec 6 12:51:39 buttercup postfix/qmgr[27671]: 07FBA216825B: from=<[email protected]>, size=419, nrcpt=1 (queue active)
Dec 6 12:51:39 buttercup cyrus/lmtp[27814]: sieve runtime error for jim id <[email protected]>: Fileinto (user/jim/System Messages): Mailbox does not exist
Dec 6 12:51:39 buttercup cyrus/lmtp[27814]: LOSTQUOTA: unable to record change of 697 bytes and 1 messages in quota user.jim: Quota root does not exist
Dec 6 12:51:39 buttercup cyrus/lmtp[27814]: Delivered: <[email protected]> to mailbox: user.jim
Dec 6 12:51:39 buttercup cyrus/lmtp[27814]: USAGE jim user: 0.012321 sys: 0.005097
Dec 6 12:51:39 buttercup postfix/lmtp[27813]: 07FBA216825B: to=<[email protected]>, relay=localhost[127.0.0.1]:24, delay=0.27, delays=0.03/0.01/0.03/0.2, dsn=2.1.5, status=sent (250 2.1.5 Ok SESSIONID=<cyrus-27814-1575654699-2-7475442468148307411>)
Dec 6 12:51:39 buttercup postfix/qmgr[27671]: 07FBA216825B: removed
A caixa de correio existe, conforme visto com cyradm:
buttercup.home.lan> lm user/jim/System\ Messages
user/jim/System Messages (\HasNoChildren)
Tudo estava funcionando bem antes da instalação do CentOS 8. As entradas relevantes (eu acho) do imapd.conf:
defaultpartition: default
partition-default: /data/spool/imap
sievedir: /var/lib/imap/sieve
virtdomains: off
unixhierarchysep: yes
O diretório de spool se parece com isto:
[root@buttercup jim]# ls -l /data/spool/imap/j/user/jim
-rw-------. 1 cyrus mail 336 Nov 30 17:57 cyrus.annotations
-rw-------. 1 cyrus mail 373712 Dec 6 13:01 cyrus.cache
-rw-------. 1 cyrus mail 189 Apr 19 2013 cyrus.header
-rw-------. 1 cyrus mail 23424 Dec 6 13:01 cyrus.index
-rw-------. 1 cyrus mail 112 Nov 26 05:31 cyrus.squat
drwx------. 2 cyrus mail 20480 Nov 30 17:57 'System Messages'
Esgotei minhas habilidades de solução de problemas nisso, então, antes de me aprofundar no código-fonte cyrus/sieve para tentar determinar o que está acontecendo, espero que alguém aqui reconheça o problema ou veja um erro simples que cometi.
A resposta foi fornecida por alguém da lista de discussão cyrus-imapd. A ação fileinto em meu script sieve incluiu user/jim , mas deve ser relativa à caixa de entrada do usuário, portanto, user/jim não é necessário. Depois de removê-los de cada regra, tudo estava bem.