web-dev-qa-db-fra.com

Comment bloquer les expéditeurs "via" dans Gmail

J'ai ce problème ennuyeux dans Gmail. Les spammeurs contournent les filtres anti-spam de Gmail et sont tellement intelligents que je ne parviens pas à créer un filtre manuel pour les bloquer. Ils m'envoient des courriers indésirables à partir d'ID de messagerie du formulaire:

[email protected] via watchstore.cleanmail.in

[email protected] via watchstore.cleanmail.in

En général,

[email protected] via watchstore.cleanmail.in

Maintenant, je ne peux pas définir un filtre pour chaque courrier, car ils proviennent de différents identifiants. La partie commune est l'adresse via qui est watchstore.cleanmail.in. Mais lorsque j'essaie de créer un filtre avec watchstore.cleanmail.in dans le champ De , Gmail ne répertorie pas ces e-mails. En bref, le filtre ne peut pas détecter les adresses via.

Les options de rapport de spam et de désabonnement ne fonctionnent pas.

Comment puis-je me débarrasser de ces spammeurs agaçants?

15
Pavan Manjunath

Les filtres intégrés de Gmail ne fonctionnent pas dans cette situation car ils ne peuvent pas être appliqués à l'en-tête "X-Forwarded-For". Cet en-tête est l'endroit où les informations de domaine "via" sont stockées.

Ma solution consistait à utiliser un script Google Apps pour vérifier ma boîte de réception toutes les quelques minutes et à filtrer automatiquement les messages envoyés via un domaine spécifique. Cela fonctionne vraiment très bien. Depuis l’implémentation du script, je n’ai pas du tout été confronté à ce type de spam. Vous pouvez lire ma procédure complète ici: http://www.geektron.com/2014/01/how-to-filter-gmail-using-email-headers-and-stop-via-spam/ =

6
Chris Z

Un de mes amis m'a dit qu'il existe une extension Chrome pouvant bloquer une adresse e-mail ou même tout le domaine en un seul clic. Je ne l'ai pas encore essayé, mais j'espère que cela aidera. Voici le lien: Block Sender

1
arlene

J'ai fait un script similaire, il vérifie "Received From:", vous pouvez ajouter autant de domaines que nécessaire dans la variable domains.

//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();          
        }

      }
    }
  }
}
0
UnLoCo

Si quelqu'un cherche ici un moyen de filtrer les e-mails reçus par une étiquette et de les enregistrer dans le dossier de l'étiquette au lieu de les marquer comme spam et de les mettre à la corbeille, voici un script faisant exactement cela (Edited celui fourni par @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);
    }

   }
 }

J'espère que ça aidera quelqu'un un jour

0
filipbarak