Назад | Перейти на главную страницу

Procmail не запускается при получении писем с помощью fetchmail

У меня следующая проблема: у меня недавно появился новый рабочий компьютер (тестирование Debian, codenme: stretch), и мне пришлось переустановить fetchmail и procmail чтобы читать мои электронные письма с mutt. Сейчас, fetchmail также хорошо работает mutt работает, только почтовый ящик спула моих писем, кажется, остается таким же по умолчанию, /var/mail/user.

В моем .fetchmailrc Я определил mda это должно быть выполнено с помощью:

mda '/usr/bin/procmail -f %F -d %T';

и .procmailrc то, что я создал, выглядит так:

# Please check if all the paths in PATH are reachable, remove the ones that
# are not.

SHELL=/bin/sh
PATH=$HOME/bin:/usr/bin:/usr/ucb:/bin:/usr/local/bin:.
MAILDIR=$HOME/Mail  # Youd better make sure it exists
SPOOL=$HOME/Mail/mbox
DEFAULT=$MAILDIR/mbox
ORGMAIL=$MAILDIR/mbox
LOGFILE=$MAILDIR/log        
LOCKFILE=$HOME/.lockmail
VERBOSE= yes
LOGABSTRACT= all

Посмотрев везде, где я мог, изменил и проверил разрешения rc файлов и почтовой папки снова и снова, наконец, пытаясь удалить все и переустановить, ничего не изменилось: все письма по-прежнему доставляются в /var/mail/user даже когда я вставляю некоторые условия доставки в .procmailrc.

Наконец я заметил, что нет /etc/procmailrc файл (как я думаю, он должен быть), а также все log файлы, которые должны существовать и быть записанными, не существуют.

fetchmail вызывает procmail, потому что $ fetchmail -vvv во входящем электронном письме в более длинном выводе есть такая строка:

fetchmail: about to deliver with: /usr/bin/procmail -f 'email@addres' -d 'user'

Мой вывод таков procmail не работает должным образом или вообще. Электронные письма все еще приходят, но все они находятся в почтовом ящике / папке по умолчанию, и я не могу перемещать их, пока они доставляются (когда я нахожусь в mutt Я могу сохранить их во всех почтовых ящиках, которые у меня есть или которые я могу определить).

Я был бы очень признателен, если бы кто-нибудь помог мне решить эту проблему!

С уважением.

В LOCKFILE назначение вообще запрещает Procmail что-либо делать.

Изучение вывода Procmail при стандартной ошибке с помощью procmail -m VERBOSE=yes .procmailrc </dev/null должен легко показать, что он вечно ждет блокировки и в конце концов сдастся.

Смотрите также http://www.iki.fi/era/procmail/mini-faq.html#locking и http://www.iki.fi/era/mail/procmail-debug.html

Как правило, трогать не нужно ORGMAIL по любой причине тоже.

Procmail не требует /etc/procmailrc файл; если он существует, он будет вызван перед вашим .procmailrc, но это не должно быть необходимым или особенно полезным в вашем сценарии.

Обычно ваш .procmailrc должен существовать в вашем домашнем каталоге с доступом для чтения (и, по практическим соображениям обслуживания, для записи), только для вас. В зависимости от того, как fetchmail бежит procmail, могут быть обстоятельства, которые не ясны из вашего вопроса - например, если fetchmail не работает как root как и вы, он может не иметь разрешения на переключение на ваш UID.

Для устранения неполадок, возможно, переместите обычный .procmailrc в сторону и попробуйте действительно простой, общий, который, возможно, просто назначает LOGFILE=/tmp/procmail-testing.log и завершает работу с разрешением на чтение для всех. Если у вас получится заставить это работать, возможно LOG=`whoami` чтобы вы могли видеть, с какими разрешениями он работает.