Esta es una especie de pregunta general sobre el entrenamiento de spamassassin. Tengo un servidor de correo recién configurado que filtra el correo entrante a través de spamassassin. Recientemente recibí una reserva de vuelo marcada como spam (puntaje 5) y me gustaría decirle a spamassassin que no es spam. (¿Quizás hacer esto también volvería a enviar el correo sin los encabezados de spamassassin modificados?)
He intentado buscar y solo encuentro cosas sobre conseguir que spamassassin marque mensajes como spam (y no sobre corregir falsos positivos), o sobre personas que escriben correos electrónicos: cómo no ser marcado como spam.
Entonces, en lo que respecta a dar retroalimentación de spamassassin sobre llamadas incorrectas:
¿Hay alguna manera de hacerlo desde un cliente de correo electrónico (por ejemplo: Thunderbird)
¿Hay alguna manera de hacer esto a través de la línea de comandos en el servidor de correo?
Me gustaría hacer que el proceso sea lo más fluido posible, pero lo que sea que haga el trabajo.
Detalles de SpamAssassin con respecto al correo electrónico:
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, los principales culpables son la línea de asunto de mayúsculas SUBJ_ALL_CAPS y el MIME_HTML_ONLY (supongo, no hay alternativa de texto).
El correo electrónico era para una confirmación de reserva de vuelo y el asunto se veía así:
Subject: JENNINGS/NICHOLAS KOSSOW MR 24 JAN MOF DPS
Encabezados:
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
fuente
Respuestas:
Hay consejos específicos y generales que pueden ser útiles en este caso.
Específico
El problema subyacente aquí es que Garuda Airlines, bendito sea sus pequeños calcetines de algodón, está enviando correos electrónicos de confirmación que tienen muchas de las características del correo no deseado. La línea de asunto es MUY GRANDE, envían correos electrónicos solo en HTML que contienen muchas imágenes y muy poco texto, el sobre-remitente (
[email protected]
) es claramente un nonce construido por máquina, y el proveedor de correo electrónico para su sistema de confirmación (subcontratado) (amadeus.com) tiene un registro SPF inútil (a pesar de todos nuestros consejos en sentido contrario , algunas personas piensan erróneamente que hay un valor en un registro que enumera algunos de sus sistemas de envío y fines~all
).No hay mucho que puedas hacer sobre la mayoría de esto. Si desea estar seguro de que esto se transmita , una línea en su
~/.spamassassin/user_prefs
que dice lewhitelist_from *@amadeus.com
enviará estos mensajes. Ir más allá y alterar el peso de las reglas que se activaron es probablemente una mala idea. El conjunto de reglas SpamAssassin (SA) se crea al filtrar una gran cantidad de correo no deseado y determinar qué características se aplican a la mayoría de ellos; es probable que abra su INBOX a mucho más que solo correos electrónicos de confirmación de Garuda al desactivar esas reglas.General
Este es exactamente el tipo de situación que el motor bayesiano maneja bien. Está diseñado para filtrar el correo electrónico que no activa las otras reglas pero contiene cosas que no desea leer, mientras que ayuda a través del correo electrónico que activa esas reglas pero contiene cosas que sí desea leer.
IIRC, el motor no hará nada si no lo estás entrenando. La forma más fácil de entrenarlo es mantener dos carpetas, llamadas (digamos)
spam
yham
. Ponesspam
copias de correo electrónico que llegaron a tu INBOX pero no querías; enham
poner copias de correos electrónicos que caían falta de SA, pero que quería, como este correo electrónico de confirmación.Luego, todas las noches (más o menos) tienes un trabajo cron que dice
modificando los caminos en consecuencia. Con el tiempo, esto le enseñará al motor lo que hace y no le gusta leer. Dado que un puntaje Bayesiano alto puede agregar +4.0 puntos al puntaje SA de un correo electrónico, mientras que uno bajo puede restar 1.9, un motor bien entrenado realmente puede ayudar a SA a distinguir lo que quiere leer de lo que no, pero tiene que pon el esfuerzo en enseñarlo .
fuente
sa-learn --ham ...
comando, dice que encontró 0 correos electrónicos para aprender:Learned tokens from 0 message(s) (0 message(s) examined)
... Traté de capturar el.eml
archivo adjunto en el que SpamAsssasin puso el correo electrónico original, en la carpeta Ham directamente en el servidor, pero aún así, dice que encuentra 0 mensajes al proceso ...report_safe 1
configuración.sa-learn
. Si eso es demasiado doloroso, apágueloreport_safe
. Es una buena idea entrenar al aprendiz de jamón con otras cosas además de cosas que fueron identificadas erróneamente como spam, ya que las suposiciones del filtro bayesiano están separadas de las SA en su conjunto. Alimento al mío todo el correo personal que recibo, ya que eso es lo que más quiero leer.Parece que estás usando palomar. He pasado algunas semanas tratando de encontrar una integración fluida, que permita a los usuarios entrenar fácilmente los filtros de spam del lado del servidor sin tener que copiar correos.
La parte clave es el complemento Antispam Dovecot. El antispam plugin de disparadores en movimiento operaciones entre tres grupos de carpetas:
trash
,unsure
yspam
. Específicamente, cuando se detecta una transición de cualquier cosa (perospam
) aspam
, se activa una acción de aprendizaje de spam y cuando se detecta una transición despam
aunsure
, se activa una acción de aprendizaje de jamón.Es compatible con diferentes backends de entrenamiento. Una simple es
mailtrain
, que simplemente ejecuta un comando y pone el correo en la entrada estándar. Una configuración para eso podría verse así:Junto con
/usr/local/bin/sa-learn-stdin.sh
:La configuración dice "Para aprender como spam, ejecuta
/usr/local/bin/sa-learn-stdin.sh -L spam
y para aprender como ham, ejecuta/usr/local/bin/sa-learn-stdin.sh -L ham
". Los argumentos están configurados porantispam_mail_spam
,antispam_mail_notspam
yantispam_mail_sendmail_args
.Esto ya es bastante bueno. Si puede configurar su cliente para mover los correos que marca como spam a la carpeta de spam, esto ya es una integración bastante automática entre el cliente y el servidor. Del mismo modo, si configura el servidor para almacenar correos clasificados como spam en la carpeta de correo no deseado en el momento de la entrega (por ejemplo, utilizando Sieve), el mensaje se aprenderá como jamón cuando el usuario lo retire de la carpeta Spam.
Para mejorar la integración con Thunderbird y KMail, escribí un parche para antispam , que desafortunadamente no recibió ningún comentario de parte de arriba; use bajo su propio riesgo .
Agrega una opción de configuración al antispam, que simplemente se puede agregar a la
plugin
sección en la configuración de palomar:(Las citas son importantes para evitar que
$
hagan algo gracioso).Con el parche, el antispam también activará una acción de aprendizaje si un mensaje recibe una bandera de spam o pierde todas sus banderas de spam. Las banderas son una función IMAP y las usan los clientes para almacenar bits de información del lado del servidor. Resulta que Thunderbird y KMail usan estas banderas para almacenar el estado de los mensajes basura / spam.
El
Junk
indicador está establecido por Thunderbird cuando se marca un mensaje como no deseado. Del mismo modo para la$JUNK
bandera un KMail. Por lo tanto, con esta configuración, puede desencadenar el aprendizaje del lado del servidor marcando el correo como basura / no basura en Thunderbird en KMail.Otros clientes, como K9-Mail, siguen jugando muy bien, porque el valor predeterminado es mover basura en la carpeta Spam, que también se activará antispam.
Puede implementar la misma funcionalidad, creo, en IMAPSieve . Esto está en mi TODO, pero desafortunadamente actualmente no tengo un entorno listo para pruebas con un palomar suficientemente reciente.
fuente