Essa é uma pergunta geral sobre o treinamento de massagens de spa. Eu tenho um servidor de e-mail recém-configurado que filtra os e-mails recebidos por spamassassin. Recentemente, recebi uma reserva de voo sinalizada como spam (pontuação 5) e gostaria de informar ao spamassassin que não é spam. (Talvez fazer isso também reenvie o e-mail sem os cabeçalhos spamassassin modificados?)
Tentei pesquisar e só estou encontrando informações sobre como fazer com que o spamassassin sinalize mensagens como spam (e não sobre corrigir falsos positivos) ou para pessoas que escrevem e-mails - como não ser sinalizado como spam.
Portanto, no que diz respeito a fornecer feedback ao spamass sobre chamadas erradas:
Existe uma maneira de fazer isso de dentro de um cliente de email (por exemplo: Thunderbird)
Existe uma maneira de fazer isso através da linha de comando no servidor de email?
Eu gostaria de tornar o processo o mais fluido possível, mas o que quer que faça o trabalho.
Detalhes do SpamAssassin sobre o e-mail:
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
Claramente, os principais culpados são a linha de assunto all-caps SUBJ_ALL_CAPS e o MIME_HTML_ONLY (eu acho, nenhuma alternativa em texto).
O email era para uma confirmação de reserva de voo e o assunto era o seguinte:
Subject: JENNINGS/NICHOLAS KOSSOW MR 24 JAN MOF DPS
Cabeçalhos:
X-Envelope-From: <[email protected]>
X-Envelope-To: <[email protected]>
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 <[email protected]>
Received: from obeap115 (nat-dns-mnp.amadeus.net [82.150.225.129])
by mail1.amadeus.net (Postfix) with ESMTP id 3F7A9200042
for <[email protected]>; Fri, 20 Jan 2017 07:55:10 +0000 (GMT)
From: [email protected]
TO: [email protected]
Message-ID: <CTS/GA/C50D54421A07/[email protected]>
FND-Request-ID: <CTS/GA/C50D54421A07/[email protected]>
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
fonte
Respostas:
Há conselhos específicos e gerais que podem ser úteis nesse caso.
Específico
O problema subjacente aqui é que a Garuda Airlines, abençoe suas pequenas meias de algodão, está enviando e-mails de confirmação com muitas das características de spam. A linha de assunto é MUITO GRATUITA, eles enviam e-mails apenas em HTML que contêm muitas imagens e muito pouco texto, o remetente do envelope (
[email protected]
) é claramente um documento construído pela máquina e o provedor de e-mail para o sistema de confirmação (terceirizado) (amadeus.com) possui um registro SPF inútil (apesar de todos os nossos conselhos em contrário , algumas pessoas pensam erroneamente que há valor em um registro que lista alguns de seus sistemas e fins de envio~all
).Não há muito o que você possa fazer sobre a maior parte disso. Se você quiser ter certeza disso, uma linha na sua mensagem indicará
~/.spamassassin/user_prefs
quewhitelist_from *@amadeus.com
você receberá essas mensagens. Ir além e adulterar o peso das regras que foram acionadas é provavelmente uma má idéia. O conjunto de regras SpamAssassin (SA) é criado filtrando um grande peso de spam e calculando quais características se aplicam à maior parte dele; é provável que você abra sua caixa de entrada para muito mais do que apenas e-mails de confirmação do Garuda desativando essas regras.Geral
Esse é exatamente o tipo de situação que o mecanismo bayesiano lida bem. Ele foi projetado para filtrar emails que não acionam as outras regras, mas contêm itens que você não deseja ler, enquanto ajudam no email que aciona essas regras, mas contém itens que você não quer ler.
IIRC, o mecanismo não fará nada se você não estiver treinando. A maneira mais fácil de treiná-lo é manter duas pastas, chamadas (digamos)
spam
eham
. Paraspam
você colocar cópias de e-mail que o fizeram em sua caixa de entrada, mas você não quer; paraham
você colocar cópias de e-mails que caíram em desgraça com SA, mas você queria, como este e-mail de confirmação.À noite (mais ou menos), você tem um trabalho cron que diz
modificando os caminhos de acordo. Com o tempo, isso ensinará ao mecanismo o que você faz e não gosta de ler. Desde uma alta pontuação de Bayesian pode adicionar +4,0 pontos a pontuação SA de um e-mail, enquanto que uma baixa pode subtrair 1.9, um motor bem treinado pode realmente ajudar SA distinguir o que você quer ler a partir do que você não fazer - mas você tem que esforçar-se para ensiná-lo .
fonte
sa-learn --ham ...
comando, ele diz que encontrou 0 e-mails para aprender:Learned tokens from 0 message(s) (0 message(s) examined)
... Tentei.eml
colocar o anexo em que o SpamAsssasin colocou o email original na pasta Ham diretamente no servidor, mas ainda assim, diz que encontra 0 mensagens para processar ...report_safe 1
configuração.sa-learn
. Se for muito doloroso, desliguereport_safe
. É uma boa idéia treinar o aprendiz de presunto com outras coisas além de coisas que foram erroneamente identificadas como spam, já que as suposições do filtro bayesiano são separadas das SA como um todo. Alimento o meu todo o correio pessoal que recebo, pois é isso que mais quero ler.Você parece estar usando dovecot. Passei algumas semanas tentando descobrir uma integração suave, que permite aos usuários treinar facilmente os filtros de spam do lado do servidor sem precisar copiar mails.
A parte principal é o plug-in Antispam Dovecot. O plug-in anti-spam gatilhos em movimento operações entre três grupos de pasta:
trash
,unsure
espam
. Especificamente, quando uma transição de qualquer coisa (masspam
) paraspam
é detectada, uma ação de aprendizado de spam é acionada e quando uma transição despam
paraunsure
é detectada, uma ação de aprendizado temporário é acionada.Ele suporta diferentes recursos de treinamento. Um é simples
mailtrain
, que simplesmente executa um comando e coloca o correio na entrada padrão. Uma configuração para isso pode ser assim:Juntamente com
/usr/local/bin/sa-learn-stdin.sh
:A configuração diz "Para aprender como spam, execute
/usr/local/bin/sa-learn-stdin.sh -L spam
e para aprender como ham, execute/usr/local/bin/sa-learn-stdin.sh -L ham
". Os argumentos são configuradosantispam_mail_spam
,antispam_mail_notspam
eantispam_mail_sendmail_args
.Isso já é bem legal. Se você pode configurar seu cliente para mover os e-mails marcados como spam para a pasta de spam, isso já é uma integração bastante automática entre o cliente e o servidor. Da mesma forma, se você configurar o servidor para armazenar e-mails classificados como spam na pasta de spam na entrega (por exemplo, usando o Sieve), a mensagem será aprendida como presa quando o usuário a mover para fora da pasta Spam.
Para melhorar a integração com o Thunderbird e o KMail, escrevi um patch para antispam , que infelizmente não recebeu nenhum feedback do upstream; use por sua conta e risco .
Ele adiciona uma opção de configuração ao antispam, que pode ser simplesmente adicionada à
plugin
seção na configuração dovecot:(As aspas são importantes para impedir que você
$
faça algo engraçado.)Com o patch, o antispam também acionará uma ação de aprendizado se uma mensagem receber um sinalizador de spam ou perder todos os sinalizadores de spam. Os sinalizadores são um recurso IMAP e usados pelos clientes para armazenar bits de informações no lado do servidor. Acontece que o Thunderbird e o KMail usam esses sinalizadores para armazenar o status de Lixo Eletrônico / Spam.
A
Junk
sinalização é definida pelo Thunderbird quando você marca uma mensagem como lixo eletrônico. Da mesma forma para a$JUNK
bandeira, um KMail. Portanto, com essa configuração, você pode acionar o aprendizado no servidor sinalizando o correio como Lixo / Não Lixo no Thunderbird no KMail.Outros clientes, como o K9-Mail, ainda funcionam bem, porque o padrão é mover o lixo eletrônico na pasta Spam, na qual o antispam também será acionado.
Acho que você pode implementar a mesma funcionalidade no IMAPSieve . Isso está no meu TODO, mas infelizmente atualmente não tenho um ambiente pronto para teste com um pombal suficientemente recente.
fonte