У меня настроен почтовый сервер (spamassassin + procmail + sendmail + dovecot) Я хочу, чтобы все спам-письма перенаправлялись в папку для спама Я установил / etc / procmail
DEFAULT=/var/spool/mail/$LOGNAME/new
ORGMAIL=/var/spool/mail/$LOGNAME
MAILDIR=/var/spool/mail/$LOGNAME
# deliver spam to spam folder
:0:
* ^X-Spam-Status: Yes
.Spam/
и почтовый ящик для dovecot
inbox = yes
#mailbox name {
# auto=create will automatically create this mailbox.
# auto=subscribe will both create and subscribe to the mailbox.
#auto = no
# Space separated list of IMAP SPECIAL-USE attributes as specified by
# RFC 6154: \All \Archive \Drafts \Flagged \Junk \Sent \Trash
#special_use =
#}
# These mailboxes are widely used and could perhaps be created automatically:
mailbox Drafts {
special_use = \Drafts
auto = create
}
mailbox Spam {
special_use = \Junk
auto = create
}
mailbox Trash {
special_use = \Trash
auto = create
}
Когда я отправляю спам-письмо для тестирования, оно не создает папку автоматически на thunderbird, и я вижу, что папка (существует в системе) имеет права root вместо разрешения пользователя, если, конечно, делать chown после отправки другого письма вернуться к исходным разрешениям (root!)
Найдено решение:
mailbox Spam {
special_use = \Junk
auto = create
}
стал
mailbox Spam {
special_use = \Junk
auto = subscribe
}
Теперь он работает
Добавить DROPPRIVS = yes
в начало / etc / procmailrc
man procmailrc
:
DROPPRIVS Если установлено значение ` yes 'procmail потеряет все привилегии, которые у него могли быть (suid или sgid). Это полезно только в том случае, если вы хотите гарантировать, что нижняя половина файла / etc / procmailrc выполняется от имени получателя.