заголовки spamassassin, не пишущий

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

Для запуска/etc/spamassassin/local.cf имеет 'report_safe 0'

В основном я выполняю следующую команду на единственном электронном письме как пример.

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

Результат этого включает всю электронную почту с видимыми заголовками X-спама. В этом случае, "X-Spam-Status: Да, score=24.0 required=5.0" как пример.

Я затем просто просматриваю файл с 'больше' впоследствии. Но заголовки X-спама не видимы. Ничто не изменяется.

mike@servo:/mnt/filestore/mail/mike$ больше INBOX/cur/1476677884_0.3597.servo \, U \= 678 \, FMD5 \= 7e33429f656f1e6e9d79b29c3f82c57e:2 \,

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

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

2 ответа

При захвате вывода для spamassassin он произведет сообщение к STDOUT, не исходный файл.

Это вызвано тем, что spamassassin обычно берет сообщения через STDIN, как то, когда он используется в качестве решета для Постфикса. Постфикс передает сообщение через STDIN к spamassassin, кто производит его к STDOUT к следующему процессу, таким образом, что-то вроде этого:

[email] -> `spamassassin` / `spamc` ---[spam-sorted email]---> `somethingelse`

, Если Вы хотите сохранить файл, необходимо записать это, как так:

spamassassin mail.eml > mail-spamcheck.eml
0
ответ дан 28 September 2019 в 09:33

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

#!/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
ответ дан 28 September 2019 в 09:33

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

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