Spamassassin marcó algo como spam que no es spam. ¿Cómo lo digo así?

Spamassassin marcó algo como spam que no es spam. ¿Cómo lo digo así?

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 (puntuación 5) y me gustaría decirle a spamassassin que no es spam. (¿Quizás al hacer esto también se volvería a enviar el correo sin los encabezados modificados de spamassassin?)

Intenté buscar y solo encontré cosas sobre cómo hacer que spamassassin marque mensajes como spam (y no sobre cómo corregir falsos positivos), o para personas que escriben correos electrónicos: cómo no ser marcado como spam.

Entonces, en lo que respecta a dar comentarios a spamassassin sobre llamadas incorrectas:

  1. ¿Hay alguna manera de hacer esto desde un cliente de correo electrónico (por ejemplo: Thunderbird)?

  2. ¿Hay alguna manera de hacer esto mediante la línea de comandos en el servidor de correo?

Me gustaría que el proceso fuera lo más fluido posible, pero lo que sea hace el trabajo.

Detalles de SpamAssassin sobre el 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 en mayúsculas SUBJ_ALL_CAPS y MIME_HTML_ONLY (supongo que no hay alternativa de texto).

El correo electrónico era para la confirmación de una reserva de vuelo y el asunto tenía este aspecto:

 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

Respuesta1

Existen consejos tanto específicos como generales que pueden resultar útiles en este caso.

Específico

El problema subyacente aquí es que Garuda Airlines, benditos sus pequeños calcetines de algodón, envía correos electrónicos de confirmación que tienen muchas de las características del spam. La línea de asunto es MUY GRITANTE, envían correos electrónicos solo HTML que contienen bastantes imágenes y muy poco texto, el remitente del sobre ( [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 detodos nuestros consejos al contrario, algunas personas piensan erróneamente que hay valor en un registro que enumeraalgunode sus sistemas emisores y fines ~all).

No hay mucho que puedas hacer al respecto. Si desea estar seguro de que estos mensajes se enviarán, una línea en su ~/.spamassassin/user_prefsmensaje que dice whitelist_from *@amadeus.comle enviará estos mensajes. Ir más allá y alterar los pesos de las reglas que se activaron probablemente sea una mala idea. El conjunto de reglas SpamAssassin (SA) se crea filtrando una gran cantidad de spam y determinando qué características se aplican a la mayor parte; es probable que abra su bandeja de entrada 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 maneja bien el motor bayesiano. Está diseñado para filtrar el correo electrónico que no activa las otras reglas pero contiene cosas que no desea leer, mientras ayuda a través del correo electrónico que activa esas reglas pero contiene cosas que usted no desea leer.hacerQuiero leer.

IIRC, el motor no hará nada si no lo entrenas. La forma más sencilla de entrenarlo es mantener dos carpetas, llamadas (digamos) spamy ham. En spamusted puso copias de los correos electrónicos que llegaron a su BAJA DE ENTRADA pero que no quiso; En hamusted, coloque copias de los correos electrónicos que no cumplieron con SA pero que usted quería, como este correo electrónico de confirmación.

Luego, todas las noches (más o menos) tienes un trabajo cron que dice

sa-learn --spam --mbox mail/spam
sa-learn --ham  --mbox mail/ham

modificando los caminos en consecuencia. Con el tiempo, esto le enseñará al motor lo que le gusta y lo que no le gusta leer. Dado que una puntuación bayesiana alta puede sumar +4,0 puntos a la puntuación SA de un correo electrónico, mientras que una puntuación baja puede restar 1,9, un motor bien entrenado realmente puede ayudar a SA a distinguir lo quequiero leer de quéno lo hagas - perohay que esforzarse para enseñarlo.

Respuesta2

Parece que estás usando palomar. He pasado algunas semanas intentando encontrar una integración fluida que permita a los usuarios entrenar fácilmente los filtros de spam del lado del servidor sin tener que hacerlo.Copiarcorreos.

La parte clave es laAntispamComplemento Palomar. El complemento antispam se activamoveroperaciones entre tres grupos de carpetas trash: unsurey spam. Específicamente, cuando se detecta una transición de cualquier cosa (excepto spam) a , se activa una acción de aprendizaje de spam y cuando se detecta una transición de a , se activa una acción de aprendizaje de jamón.spamspamunsure

Admite diferentes backends de formación. Uno simple es mailtrain, que simplemente ejecuta un comando y coloca el correo en la entrada estándar. Una configuración para eso podría verse así:

plugin {
   antispam_backend = mailtrain
   antispam_mail_sendmail = /usr/local/bin/sa-learn-stdin.sh
   antispam_mail_spam = spam
   antispam_mail_notspam = ham
   antispam_mail_sendmail_args = -L
   antispam_spam = Junk;INBOX.Junk
   antispam_trash = Trash;INBOX.Trash
   antispam_allow_append_to_spam = no
}

Juntos con /usr/local/bin/sa-learn-stdin.sh:

#!/bin/bash
/usr/bin/spamc "$@" >> /tmp/sa-learn-log
exit 0

La configuración dice "Para aprender como spam, ejecutar /usr/local/bin/sa-learn-stdin.sh -L spamy para aprender como ham, ejecutar /usr/local/bin/sa-learn-stdin.sh -L ham". Los argumentos están configurados por antispam_mail_spam, antispam_mail_notspamy antispam_mail_sendmail_args.

Esto ya es bastante bonito. Si puede configurar su cliente para mover los correos que marque 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 spam en el momento de la entrega (por ejemplo, usando Sieve), el mensaje se reconocerá como ham cuando el usuario lo saque de la carpeta de spam.


Para mejorar la integración con Thunderbird y KMail, escribí unparche para antispam, que lamentablemente no recibió ninguna respuesta de upstream;Úselo bajo su propio riesgo.

Agrega una opción de configuración al antispam, que simplemente se puede agregar a la pluginsección en la configuración de dovecot:

   antispam_spam_flags = "Junk;$JUNK"

(Las comillas son importantes para evitar que $hagan algo gracioso).

Con el parche, el antispamtambiéndesencadenar una acción de aprendizaje si un mensaje recibe una marca de spam o pierde todas sus marcas de spam. Las banderas son una característica IMAP y los clientes las utilizan para almacenar bits de información en el lado del servidor. Resulta que Thunderbird y KMail usan estos indicadores para almacenar el estado de correo basura/spam de los mensajes.

JunkThunderbird establece la bandera cuando marcas un mensaje como basura. Lo mismo para la $JUNKbandera un KMail. Por lo tanto, con esta configuración, puede activar el aprendizaje del lado del servidor marcando el correo como basura/no basura en Thunderbird en KMail.

Otros clientes, como K9-Mail, todavía funcionan muy bien, porque allí el valor predeterminado es mover basura en la carpeta Spam, lo que también activará el antispam.


Puedes implementar la misma funcionalidad, creo, enIMAPtamiz. Esto está en mi TODO, pero desafortunadamente actualmente no tengo un entorno listo para pruebas con un palomar suficientemente reciente.

información relacionada