Comment bloquer les expéditeurs «via» dans Gmail

16

J'ai ce problème ennuyeux dans Gmail. Les spammeurs contournent les filtres anti-spam Gmail et sont si intelligents que je ne suis pas en mesure de créer mon propre filtre manuel pour les bloquer. Ils m'envoient des courriers indésirables à partir des identifiants e-mail 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 de filtre pour chaque courrier car ils proviennent d'ID différents. La partie commune est l' adresse via qui est watchstore.cleanmail.in. Mais lorsque j'essaie de créer un filtre avec watchstore.cleanmail.indans le champ De , Gmail ne répertorie pas ces e-mails. En bref, le filtre n'est pas capable de détecter via des adresses.

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

Comment puis-je me débarrasser de ces spammeurs ennuyeux?

Pavan Manjunath
la source
2
Êtes-vous sûr de l'avoir fait Report as Spamen cliquant sur le bouton Gmail pour chaque courrier que vous avez reçu? Cela devrait fonctionner pour d'autres courriers. Btw, ne vous désabonnez jamais , cela confirmera simplement que votre adresse est correcte.
JMax
@JMax Merci pour la réponse. Bien que ce ne soit pas tous les e-mails, j'avais l'habitude de marquer de nombreux e-mails comme spam. Et merci de me rappeler le piège de désabonnement!
Pavan Manjunath
1
Je ne sais pas si GMail a ce genre de fonctionnalité. Ce serait une bonne fonctionnalité à ajouter, alors suggérez-le à Google . Quant au Report as Spamproblème, je pense qu'il bloquera simplement le spam du domaine apparent, pas le domaine via lequel il a été envoyé. Encore une fois, cela peut être une bonne fonctionnalité à suggérer.
njallam

Réponses:

6

La raison pour laquelle les filtres intégrés de Gmail ne fonctionneront pas dans cette situation est qu'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 était d'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 la mise en œuvre du script, je n'ai pas du tout eu à gérer ce type de spam. Vous pouvez lire ma procédure pas à pas ici: http://www.geektron.com/2014/01/how-to-filter-gmail-using-email-headers-and-stop-via-spam/

Chris Z
la source
+ 1, excellente solution de contournement !! Mais je n'ai pas pu trouver l'en-tête "X-Forwarded-For". Et les autres "noms d'en-tête de site" ne sont pas dans des formats facilement consultables. Par exemple, "Return-Path: <campaign-value4shop-10213-2596-859268-pavan8085=gmail.com@mails.cratusservices.in>". Le domaine coupable "mails.cratus .." est intégré dans les données d'en-tête. Pouvons-nous utiliser des expressions régulières pour rechercher des chaînes à l'intérieur des en-têtes? À partir de maintenant, je recherche directement "mail.cratus ..", ce qui est assez bon pour moi, mais pourrait conduire à de faux positifs à l'avenir.
Pavan Manjunath
string.search()peut faire une recherche regex! Maintenant, mon code fonctionne bien! Merci de votre aide. Votre réponse m'a amené à m'intéresser aux scripts de l'application Google :) Jusqu'à ce que Google propose une fonctionnalité de blocage via les adresses, je marquerai votre réponse comme correcte :)
Pavan Manjunath
Heureux que cela ait fonctionné pour vous, Pavan! J'ai récemment commencé à expérimenter avec Google App Scripts également, et il y a beaucoup de choses utiles que vous pouvez faire avec!
Chris Z
@PavanManjunath Pouvez-vous poster votre propre réponse sur la façon dont vous avez fait cela sans entrée X-forwarded-For? J'ai vraiment besoin de ça. Merci.
zar
1

Un de mes amis m'a dit qu'il existe une extension Chrome qui peut bloquer une adresse e-mail ou même l'ensemble du domaine en un seul clic. Je ne l'ai pas encore essayé mais j'espère que cela vous aidera. Voici le lien: Bloquer l'expéditeur

arlene
la source
0

J'ai fait un script similaire, il vérifie "Received From:", vous pouvez ajouter autant de domaines que nécessaire dans 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
la source
0

Si quelqu'un se retrouve ici à la recherche d'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 supprimer, voici un script qui fait exactement cela (édité 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 cela aidera quelqu'un un jour

filipbarak
la source
Pouvez-vous préciser quel est le label? Je veux classer par le domaine via.
zar