Не могли бы вы мне помочь разобраться? Я понимаю, что обращаюсь не вполне по адресу, поскольку у меня Rspamd, но я тут обнаружил проблему именно с квотой, а, точнее, с работой плагина trash. Проблема вот в чем. Когда я тестирую работу плагина trash, отправляя письма на тестовый ящик с того же домена, то всё работает как надо. При превышении квоты из папки Trash удаляется часть писем, и отправленное письмо доходит по адресу.
Но вот когда я делаю то же самое, отправляя тестовые письма с внешнего домена, то плагин trash так же срабатывает, удаляет часть писем из папки Trash, но тестовое письмо не доходит. Почему-то sieve не может его сохранить. Никак не могу понять, в чем дело.
Вот выдержки из логов.
1. Отправка превышающего квоту письма с внутреннего домена (письмо дошло по адресу):
Код: Выделить всё
Dec 05 19:11:27 voyo dovecot[3060]: lmtp(22366): Connect from local
Dec 05 19:11:27 voyo dovecot[3060]: imap(admin@mydomain.tld): Connection closed (IDLE running for 0.001 + waiting input for 0.001 secs, 2 B in + 10+10 B out, state=wait-input) in=7481 out=2896
Dec 05 19:11:27 voyo dovecot[3060]: lmtp(test@mydomain.tld): EC5CGy/FJlpeVwAAMhFstA: sieve: msgid=<7c6f221d-c87d-5221-a632-e8b3c2a55671@mydomain.tld>: stored mail into mailbox 'INBOX'
Dec 05 19:11:27 voyo postfix/lmtp[22179]: 4D56F2342: to=<test@mydomain.tld>, relay=mail.mydomain.tld[private/dovecot-lmtp], delay=0.34, delays=0.09/0.01/0.05/0.19, dsn=2.0.0, status=sent (250 2.0.0 <test@mydomain.tld> EC5CGy/FJlpeVwAAMhFstA Saved)
Dec 05 19:11:27 voyo dovecot[3060]: lmtp(22366): Disconnect from local: Successful quit
2. Отправка превышающего квоту письма с внешнего домена (письмо не дошло по адресу):
Код: Выделить всё
Dec 05 19:20:53 voyo dovecot[3060]: lmtp(22580): Connect from local
Dec 05 19:20:53 voyo postfix/smtpd[22487]: disconnect from smtp59.i.mail.ru[217.69.128.39] ehlo=2 starttls=1 mail=1 rcpt=1 data=1 quit=1 commands=7
Dec 05 19:20:53 voyo dovecot[3060]: lmtp(test@mydomain.tld): EP//DmXHJlo0WAAAMhFstA: sieve: msgid=<29347684-e205-77a8-b8b1-40cc7cda96a0@mail.ru>: failed to store into mailbox 'INBOX': Quota exceeded (mailbox for user is full)
Dec 05 19:20:53 voyo dovecot[3060]: lmtp(test@mydomain.tld): EP//DmXHJlo0WAAAMhFstA: sieve: Execution of script /usr/lib/dovecot/sieve/after.d/junk.sieve failed with unsuccessful implicit keep
Dec 05 19:20:53 voyo dovecot[3060]: lmtp(22580): Disconnect from local: Successful quit
Dec 05 19:20:53 voyo postfix/lmtp[22506]: D32A12346: to=<test@mydomain.tld>, relay=mail.mydomain.tld[private/dovecot-lmtp], delay=0.5, delays=0.39/0/0/0.11, dsn=5.2.2, status=bounced (host mail.mydomain.tld[private/dovecot-lmtp] said: 552 5.2.2 <test@mydomain.tld> Quota exceeded (mailbox for user is full) (in reply to end of DATA command))
Из второго лога видно, что не сработал скрипт junk.sieve. Вот его содержимое:
Код: Выделить всё
require ["fileinto","mailbox"];
if header :contains "X-Spam" "Yes" {
fileinto :create "Junk";
stop;
}
Но дело, судя по всему, не в содержании этого скрипта. А вот в чем -- не могу понять. Все права на выполнение есть, ошибок в логах нет.
В принципе, я конфигурировал Rspamd
вот по этой инструкции. Всё работает. За исключением того, что я здесь описал. Очевидно, что скрипт junk.sieve просто не вызывается при доставке письма, отправленного из того же домена (что вполне логично, хотя могут быть варианты со спамом и из своего же домена). Но вот как бы мне победить проблему потери письма из внешнего домена? Буду очень благодарен за любые советы.