Я использую SendMail и Exim4 в ящике Debian для доставки почты, какое-то время работал без сбоев. Я экспериментировал с использованием файла .forward для доставки электронной почты в подпапки моего почтового ящика, но мне не удалось заставить все работать удовлетворительно.
Мой файл .foward выглядит так:
# Exim filter
if error_message then finish endif
if $h_X-Spam-Status: CONTAINS "Yes"
or
$h_X-Spam-Flag: CONTAINS "Yes"
then
save $home/Maildir/.Junk/
finish
endif
И у меня есть несколько правил, которые будут использовать $ h_subject или $ h_from для фильтрации электронной почты. Я проверяю, что правила работают, с помощью следующей команды:
/usr/sbin/sendmail -bf .forward < some_email_that_matches
И из вывода я вижу, что он доставит его в определенную мной подпапку, которая существует. Я установил права доступа для файла .forward равными 644.
Однако всякий раз, когда я пытаюсь отправить электронное письмо, которое соответствует любому из этих правил, оно никогда не доставляется и, кажется, где-то застревает в почтовой системе. Я не уверен, где искать дополнительную информацию или сообщения об ошибках в моей системе для этого, я был бы признателен, если бы кто-то мог указать мне в правильном направлении.
Оказывается, я задавал вопрос, на который невозможно ответить :)
Другие правила, которые не работали, выглядели так:
if $h_from: contains "Ebay"
then
save $home/Maildir/.ebay
finish
endif
Но, как указано на этот блог, Мне нужно добавить косую черту в конце, например:
if $h_from: contains "Ebay"
then
save $home/Maildir/.ebay/
finish
endif
Иначе ничего не получится. Ах!
Чтобы увидеть, что происходит с сообщениями, которые были отправлены в обычном режиме, загляните в / var / log / maillog (или туда, где ваша конфигурация syslog помещает журналы почты). Там должен быть набор строк для каждого сообщения, обработанного системой. Если тестовые сообщения не возвращаются и не появляются в вашем почтовом ящике папки, которую вы указали в файле фильтра, в журнале сообщений должно быть что-то, что объясняет, почему. Получив эту информацию, обновите вопрос.