Это своего рода общий вопрос об обучении спамассассина. У меня есть недавно настроенный почтовый сервер, который фильтрует входящую почту через spamassassin. Недавно я получил бронирование, помеченное как спам (оценка 5), и хотел бы сказать spamassassin, что это не спам. (Возможно, если вы сделаете это, вы также повторно отправите письмо без измененных заголовков spamassassin?)
Я пытался искать по всему и только нахожу материал о том, чтобы заставить spamassassin помечать сообщения как спам (а не исправлять ложные срабатывания), или для людей, пишущих электронные письма, - как не быть помеченными как спам.
Так что в отношении предоставления spamassassin отзывов о неправильных звонках:
Есть ли способ сделать это из почтового клиента (например, Thunderbird)
Есть ли способ сделать это через командную строку на почтовом сервере?
Я хотел бы сделать процесс настолько плавным, насколько это возможно, но что бы ни делали работу.
Подробности от SpamAssassin относительно электронной почты:
0.0 FSL_HELO_NON_FQDN_1 No description available.
0.6 HK_RANDOM_ENVFROM Envelope sender username looks random
-0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at http://www.dnswl.org/, no trust [82.150.225.129 listed in list.dnswl.org]
-0.0 RCVD_IN_MSPIKE_H3 RBL: Good reputation (+3) [82.150.225.129 listed in wl.mailspike.net]
0.0 HEADER_FROM_DIFFERENT_DOMAINS From and EnvelopeFrom 2nd level mail domains are different
1.0 SPF_SOFTFAIL SPF: sender does not match SPF record (softfail)
1.6 SUBJ_ALL_CAPS Subject is all capitals
1.1 MIME_HTML_ONLY BODY: Message only has text/html MIME parts
0.7 HTML_IMAGE_ONLY_20 BODY: HTML: images with 1600-2000 bytes of words
0.0 HTML_MESSAGE BODY: HTML included in message
-0.0 RCVD_IN_MSPIKE_WL Mailspike good senders
0.0 UNPARSEABLE_RELAY Informational: message has unparseable relay lines
0.0 T_REMOTE_IMAGE Message contains an external image
Очевидно, что основными виновниками являются тема с заглавными буквами SUBJ_ALL_CAPS и MIME_HTML_ONLY (я думаю, текстовой альтернативы нет).
Письмо было для подтверждения бронирования рейса, и тема выглядела так:
Subject: JENNINGS/NICHOLAS KOSSOW MR 24 JAN MOF DPS
Заголовки:
X-Envelope-From: <tdsfndprd@amadeus.com>
X-Envelope-To: <nick@xxx.xxx>
Received: from mail1.amadeus.net (unknown)
by 147-49-15-51.rev.cloud.scaleway.com(Postfix 3.1.0/8.13.0) with SMTP id unknown
Fri, 20 Jan 2017 07:55:10 +0000
(envelope-from <tdsfndprd@amadeus.com>
Received: from obeap115 (nat-dns-mnp.amadeus.net [82.150.225.129])
by mail1.amadeus.net (Postfix) with ESMTP id 3F7A9200042
for <nick@xxx.xxx>; Fri, 20 Jan 2017 07:55:10 +0000 (GMT)
From: eticket@garuda-indonesia.com
TO: NICK@XXX.XXXX
Message-ID: <CTS/GA/C50D54421A07/1@tds.amadeus.com>
FND-Request-ID: <CTS/GA/C50D54421A07/1@tds.amadeus.com>
Job-ID: 1
Subject: JENNINGS/NICHOLAS KOSSOW MR 24 JAN MOF DPS
Date: Fri, 20 Jan 2017 07:55:09 +0000
Content-Type: multipart/mixed;
boundary="----=_Part_191904_1900935199.1484898909762"
MIME-Version: 1.0
источник
Ответы:
В этом случае могут быть полезны как конкретные, так и общие рекомендации.
Конкретный
Основная проблема здесь заключается в том, что авиакомпания Garuda Airlines, благослови свои маленькие хлопчатобумажные носки, отправляет электронные письма с подтверждением, на которых отмечены многие признаки спама. Строка темы - ОЧЕНЬ ШОУ, они отправляют электронные письма только в формате HTML, которые содержат довольно много изображений и очень мало текста, envelope-sender (
tdsfndprd@amadeus.com
) - это явно одноразовый механизм, созданный машиной, и поставщик электронной почты для их (аутсорсинговой) системы подтверждения. (amadeus.com) имеет бесполезную запись SPF (несмотря на все наши советы об обратном , некоторые люди по ошибке думают, что есть запись в записи, в которой перечислены некоторые из их отправляющих систем и целей~all
).С этим практически ничего не поделаешь. Если вы хотите быть уверенным в том,
~/.spamassassin/user_prefs
что ониwhitelist_from *@amadeus.com
пройдут, в вашей строке , где написано, передадут вам эти сообщения. Идти дальше и вмешиваться в весовые коэффициенты сработавших правил, вероятно, плохая идея. Набор правил SpamAssassin (SA) создается путем фильтрации огромного количества спама и определения того, какие характеристики применимы к большей его части; отключив эти правила, вы, скорее всего, откроете свой INBOX намного больше, чем просто электронные письма с подтверждением Garuda.Общая
Это именно та ситуация, с которой байесовский двигатель справляется хорошо. Он предназначен для фильтрации электронной почты, которая не запускает другие правила, но содержит материалы, которые вы не хотите читать, в то время как помощь по электронной почте вызывает эти правила, но содержит материалы, которые вы действительно хотите прочитать.
IIRC, двигатель ничего не сделает, если ты его не тренируешь. Самый простой способ обучить это поддерживать две папки, называемые, скажем,
spam
иham
. Вspam
вы положили копии электронной почты , которые сделали его в ваш почтовый ящик , но вы не хотите; вham
вас помещают копии электронных писем, которые были нарушены SA, но вы действительно хотели, например, это подтверждение по электронной почте.Тогда ночью (или около того) у вас есть работа cron, которая говорит
изменяя пути соответственно. Со временем это научит двигатель тому, что вы делаете, а не любите читать. Поскольку высокий балл по Байесу может добавить +4,0 балла к баллу SA по электронной почте, а низкий балл может вычесть 1,9, хорошо обученный движок действительно может помочь SA отличить то, что вы хотите прочитать от того, что вы не делаете - но вы должны приложите усилия, чтобы научить этому .
источник
sa-learn --ham ...
команду, он сказал, что обнаружил 0 писем, из которых можно извлечь уроки:Learned tokens from 0 message(s) (0 message(s) examined)
... Я попытался перехватить.eml
вложение, в которое SpamAsssasin поместил исходное письмо, в папку Ham. непосредственно на сервере, но тем не менее, говорит, что находит 0 сообщений для обработки ...report_safe 1
настройке.sa-learn
. Если это слишком много боли, выключитеreport_safe
. Хорошей идеей будет обучить ветеринара другим вещам, кроме того, что было ошибочно идентифицировано как спам, поскольку предположения Байесовского фильтра отделены от SA в целом. Я передаю всю свою личную почту, которую я получаю, потому что это то, что я больше всего хочу прочитать.Вы, кажется, используете dovecot. Я потратил несколько недель, пытаясь понять плавную интеграцию, которая позволяет пользователям легко обучать фильтры спама на стороне сервера без необходимости копировать почту.
Ключевой частью является плагин Antispam Dovecot. Антиспам плагин триггеры на перемещение операций между тремя группами папок:
trash
,unsure
иspam
. В частности, когда обнаружен переход от чего-либо (ноspam
) кspam
, запускается действие по обучению спаму, а когда обнаруживается переход отspam
кunsure
, запускается действие по обучению.Он поддерживает различные обучающие бэкэнды. Простым является тот
mailtrain
, который просто выполняет команду и помещает почту на стандартный ввод. Конфигурация для этого может выглядеть так:Вместе с
/usr/local/bin/sa-learn-stdin.sh
:Конфигурация гласит: «Чтобы учиться как спам, беги
/usr/local/bin/sa-learn-stdin.sh -L spam
и учиться как хам, беги/usr/local/bin/sa-learn-stdin.sh -L ham
». Аргументы настраиваются с помощьюantispam_mail_spam
,antispam_mail_notspam
иantispam_mail_sendmail_args
.Это уже довольно мило. Если вы можете настроить свой клиент для перемещения писем, помеченных как спам, в папку для спама, это уже довольно автоматическая интеграция между клиентом и сервером. Аналогично, если вы сконфигурируете сервер для хранения писем, классифицированных как спам, в папке спама при доставке (например, с помощью Sieve), сообщение будет считаться ветчиной, когда пользователь перемещает его из папки спама.
Чтобы улучшить интеграцию с Thunderbird и KMail, я написал патч для антиспама , который, к сожалению, не получил откликов от апстрима; использовать на свой страх и риск .
Он добавляет опцию конфигурации в антиспам, которую можно просто добавить в
plugin
раздел конфигурации dovecot:(Цитаты важны, чтобы не
$
делать что-то смешное.)С помощью патча антиспам также запускает обучающее действие, если сообщение получает флаг спама или теряет все свои флаги спама. Флаги являются функцией IMAP и используются клиентами для хранения битов информации на стороне сервера. Оказывается, Thunderbird и KMail используют эти флаги для хранения статуса нежелательной почты / спама.
Junk
Thunderbird устанавливает этот флаг, когда вы помечаете сообщение как нежелательное. Аналогично для$JUNK
флага KMail. Таким образом, в этой конфигурации вы можете инициировать обучение на стороне сервера, пометив почту как нежелательная / нежелательная в Thunderbird в KMail.Другие клиенты, такие как K9-Mail, по-прежнему хорошо играют, потому что по умолчанию там перемещается нежелательная почта в папке «Спам», которая также запускается антиспамом.
Вы можете реализовать ту же функциональность, я думаю, в IMAPSieve . Это на моем TODO, но, к сожалению, в настоящее время у меня нет готовой к тестированию среды с достаточно недавним dovecot.
источник