Cómo bloquear remitentes "vía" en Gmail

16

Tengo este molesto problema en Gmail. Los spammers pasan por alto los filtros de spam de Gmail y son tan inteligentes que no puedo crear un filtro manual para bloquearlos. Me están enviando correos basura desde ID de correo electrónico del formulario:

[email protected] via watchstore.cleanmail.in

[email protected] via watchstore.cleanmail.in

En general,

[email protected] via watchstore.cleanmail.in

Ahora, no puedo configurar un filtro para todos y cada uno de los correos, ya que provienen de diferentes ID. La parte común es la vía dirección que es watchstore.cleanmail.in. Pero cuando intento crear un filtro watchstore.cleanmail.inen el campo De , Gmail no enumera estos correos electrónicos. En resumen, el filtro no puede detectar a través de direcciones.

Las opciones Informar spam / Cancelar suscripción no funcionan.

¿Cómo puedo deshacerme de estos molestos spammers?

Pavan Manjunath
fuente
2
¿Estás seguro de que has hecho Report as Spamclic en el botón de Gmail en cada correo que recibiste? Esto debería funcionar para más correos. Por cierto, nunca canceles la suscripción al spam, solo confirmará que tu dirección es correcta.
JMax
@JMax Gracias por la respuesta. Aunque no todos los correos, pero solía marcar muchos correos como Spam. ¡Y gracias por recordarme sobre la trampa para darse de baja!
Pavan Manjunath
1
No estoy seguro si GMail tiene este tipo de funcionalidad. Sería una buena característica para que agreguen, así que quizás lo sugieran a Google . En cuanto al Report as Spamproblema, creo que solo bloqueará el spam del dominio aparente, no del dominio por el que se envió. Nuevamente, esta puede ser una buena característica para sugerir.
njallam

Respuestas:

6

La razón por la cual los filtros integrados de Gmail no funcionarán en esta situación es porque no se pueden aplicar al encabezado "X-Forward-For". Ese encabezado es donde se almacena la información del dominio "vía".

Mi solución fue utilizar un script de Google Apps para revisar mi bandeja de entrada cada pocos minutos y filtrar automáticamente los mensajes enviados a través de un dominio específico. Realmente funciona muy bien. Desde la implementación del script, no he tenido que lidiar con este tipo de spam en absoluto. Puedes leer mi tutorial completo aquí: http://www.geektron.com/2014/01/how-to-filter-gmail-using-email-headers-and-stop-via-spam/

Chris Z
fuente
+ 1, excelente solución !! Pero no pude encontrar el encabezado "X-Fordered-For". Y otros "nombres de sitios de encabezados" no están en formatos fáciles de buscar. Por ejemplo, "Ruta de retorno: <campaign-value4shop-10213-2596-859268-pavan8085=gmail.com@mails.cratusservices.in>". El dominio culpable "mails.cratus .." está incrustado dentro de los datos del encabezado. ¿Podemos usar expresiones regulares para buscar cadenas dentro de los encabezados? A partir de ahora, estoy buscando directamente "mail.cratus ..", que es lo suficientemente bueno para mí, pero puede dar lugar a falsos positivos en el futuro.
Pavan Manjunath
string.search()puede hacer búsquedas de expresiones regulares! ¡Ahora mi código funciona bien! Gracias por tu ayuda. Su respuesta me ha hecho interesarme en los scripts de la aplicación de Google :) Hasta que los propios Google presenten una función para bloquear a través de direcciones, marcaré su respuesta como correcta :)
Pavan Manjunath
¡Me alegro de que te haya funcionado, Pavan! Recientemente, también comencé a experimentar con los scripts de aplicaciones de Google, ¡y hay muchas cosas útiles que puedes hacer con él!
Chris Z
@PavanManjunath ¿Puedes publicar tu propia respuesta sobre cómo lo hiciste sin la entrada X-Forward-For? Necesito mucho esto. Gracias.
zar
1

Un amigo mío me ha dicho que hay una extensión de Chrome que puede bloquear una dirección de correo electrónico o incluso todo el dominio con solo un clic. Todavía no lo he probado, pero espero que esto ayude. Aquí está el enlace: Bloquear remitente

Arlene
fuente
0

Hice una secuencia de comandos similar, comprueba "Recibido de:", puede agregar tantos dominios como sea necesario en la domainsvariable.

//without http:// etc, just domain-name.com or domainname.com ....
var domains = [
  'secureserver.net',
];

  //This is not the best solution, a better solution would be to add a filter like this for example => From: #domainname.com
  //and then this app would read your GMail filters and test whether it begins with # to apply the next function if so.. but I couldn't find a way to read GMail settings from here

function filterVia() {
  // get all threads in inbox
  var threads = GmailApp.getInboxThreads();

  for (var i = 0; i < threads.length; i++) {
    Utilities.sleep(100);
    // get all messages in a given thread
    var messages = threads[i].getMessages();
    // iterate over each message
    for (var j = 0; j < messages.length; j++) {
      // log message subject
      var content = messages[j].getRawContent();

      for (var k = 0; k < domains.length; k++) {
        //make domain name as regexp
        var re = new RegExp('\\.|\\-', 'gi');
        var b = domains[k].replace(re, '\\$&');
        var regex = new RegExp("Received\: from .*" + b,'gim');
        var does_match = regex.test(content);

        if(does_match){
          //MARK AS READ (maybe spares you an unnecessary notification)
          messages[j].markRead();
          //DELETE THE MESSAGE
          messages[j].moveToTrash();          
        }

      }
    }
  }
}
UnLoCo
fuente
0

Si alguien termina buscando una forma de filtrar los correos electrónicos recibidos por una etiqueta y guardarlos en la carpeta de la etiqueta en lugar de marcarlos como spam y desecharlos, aquí hay un script que hace exactamente eso (Editado el proporcionado por @ChrisZ).

function filterByVia() {
  var threads = GmailApp.getInboxThreads(0, 5);
  var label = GmailApp.getUserLabelByName("yourlabel");
  for (var i = 0; i < threads.length; i++) {
    var messages=threads[i].getMessages();
    for (var j = 0; j < messages.length; j++) {
      var message=messages[j];
      var body=message.getRawContent();
      if (body.indexOf("the domain after via") > -1) {
        label.addToThread(threads[i]);
      }
      Utilities.sleep(1000);
    }

   }
 }

Espero que ayude a alguien algún día

filipbarak
fuente
¿Pueden elaborar por favor cuál es la etiqueta? Quiero archivar por el dominio vía.
zar