Spamassassin заголовки не пишут

Когда я запускаю команду spamassassin по электронной почте, она правильно идентифицирует письмо как спам и появляется так, как если бы заголовки были добавлены. Но файл фактически не обновляется, а заголовки остаются неизменными. Из-за моей репутации здесь я не могу опубликовать фактический вывод команд. Любая помощь приветствуется. Спасибо.

Чтобы начать, у /etc/spamassassin/local.cf есть 'report_safe 0' [! ​​D1]

В принципе, я использую следующую команду для одного электронного письма в качестве примера.

/etc/spamassassin/local.cf имеет «report_safe 0»

. Результатом этого является полное письмо с заголовками X-Spam. В этом случае в качестве примера можно привести «X-Spam-Status: Yes, score = 24.0 required = 5.0».

Затем я просто просматриваю файл с надписью «more». Но заголовки X-Spam не видны. Ничего не изменилось.

mike @ servo: / mnt / filestore / mail / mike $ more INBOX / cur / 1476677884_0.3597.servo \, U \ = 678 \, FMD5 \ = 7e33429f656f1e6e9d79b29c3f82c57e: 2 \,

Изменить: я также хотел указать, что использование команды spamc вместо spamassassin приводит к тому же. Если я полностью не ошибаюсь в том, как это должно вести себя - команды должны фактически писать файл, а не просто выводить результат, правильно? - возможно, это вопрос разрешения? Похоже, что пользователь, который был установлен с spamassassin, является debian-spamd, вся моя почта хранится как -rw-rw-r-- mike: mike. Однако я не могу найти никаких журналов, чтобы доказать ошибку разрешения.

1
задан 17 October 2016 в 20:39

1 ответ

Для тех, кто может наткнуться на этот пост с похожим вопросом, ниже, как я решил эту проблему. Я перешел в fetchmail из offlineimap, чтобы поместить сообщения в отдельный каталог, и я добавил приведенный ниже сценарий к cron.

#!/bin/bash

#Mail directories. Do not include the trailing /.
NEWMAIL="/home/mike/.mailqueue"
INBOX="/mnt/filestore/mail/mike/INBOX/new"
JUNK="/mnt/filestore/mail/mike/.Junk/new"

#fetch new messages
fetchmail

#move any messages in new to cur
echo "Moving messages in /new to /cur"
mv $NEWMAIL/new/* $NEWMAIL/cur/

#check if directory contains files
if [ "$(ls -A $NEWMAIL/cur/)" ] ; then

  #move out files that already have spamassassin headers to the INBOX and Junk folders
  echo "Moving pre-processed files."
  grep -lIZ ^X-Spam-Status\:\ Yes \
    $NEWMAIL/cur/* |
    xargs -I '{}' -0 mv '{}' $JUNK/

  grep -lIZ ^X-Spam-Status\:\ No \
    $NEWMAIL/cur/* |
    xargs -I '{}' -0 mv '{}' $INBOX/

  #run spamassassin on each remainining file and append .processed to the filename
  for file in $NEWMAIL/cur/*
  do
    echo "Processing $file"
    spamassassin $file > $file.processed
  done

  #move the processed files to the INBOX and Junk folders
  echo "Moving processed files."
  grep -lIZ ^X-Spam-Status\:\ Yes \
    $NEWMAIL/cur/* |
    xargs -I '{}' -0 mv '{}' $JUNK/

  grep -lIZ ^X-Spam-Status\:\ No \
    $NEWMAIL/cur/* |
    xargs -I '{}' -0 mv '{}' $INBOX/

  #delete the remaining files
  echo "Deleting the remaining files."
  rm -Rf $NEWMAIL/cur/*

#no files in directory
else
  echo "Nothing to do."
fi
0
ответ дан 23 May 2018 в 05:06

Другие вопросы по тегам:

Похожие вопросы: