Jak zablokować nadawców „za pośrednictwem” w Gmailu

16

Mam ten irytujący problem w Gmailu. Spamerzy omijają filtry antyspamowe Gmaila i są tak sprytni, że nie jestem w stanie utworzyć własnego ręcznego filtra, aby je zablokować. Wysyłają mi śmieci z identyfikatorów e-mail w formularzu:

[email protected] via watchstore.cleanmail.in

[email protected] via watchstore.cleanmail.in

Ogólnie,

[email protected] via watchstore.cleanmail.in

Teraz nie mogę ustawić filtra dla każdej poczty, ponieważ pochodzą one z różnych identyfikatorów. Wspólną częścią jest adres pośredni, którym jest watchstore.cleanmail.in. Ale kiedy próbuję utworzyć filtr watchstore.cleanmail.inw polu Od , Gmail nie wyświetla tych wiadomości e-mail. Krótko mówiąc, filtr nie jest w stanie wykryć poprzez adresy.

Zgłoś Spam / Opcje rezygnacji z subskrypcji nie działają.

Jak mogę pozbyć się tych irytujących spamerów?

Pavan Manjunath
źródło
2
Czy na pewno Report as Spamklikniesz przycisk Gmaila przy każdej otrzymanej wiadomości? Powinno to działać w przypadku dalszych wiadomości e-mail. Przy okazji, nigdy nie rezygnuj z subskrypcji spamu, to tylko potwierdzi, że Twój adres jest poprawny.
JMax
@JMax Dzięki za odpowiedź. Chociaż nie każda wiadomość, ale oznaczałem wiele takich wiadomości jako spam. I dzięki za przypomnienie mi o pułapce rezygnacji z subskrypcji!
Pavan Manjunath
1
Nie jestem pewien, czy Gmail ma taką funkcjonalność. Dodanie ich byłoby dobrą funkcją, więc może zasugeruj to Google . Jeśli chodzi o Report as Spamproblem, myślę, że po prostu zablokuje spam z domeny pozornej, a nie domeny, przez którą został wysłany. Ponownie może to być dobra funkcja do zasugerowania.
njallam

Odpowiedzi:

6

Wbudowane filtry Gmaila nie działają w tej sytuacji, ponieważ nie można ich zastosować do nagłówka „X-Forwarded-For”. W tym nagłówku przechowywane są informacje o domenie „via”.

Moim rozwiązaniem było użycie skryptu Google Apps do sprawdzania skrzynki odbiorczej co kilka minut i automatycznego filtrowania wiadomości wysyłanych za pośrednictwem określonej domeny. To naprawdę działa naprawdę dobrze. Od czasu wdrożenia skryptu wcale nie musiałem zajmować się tego typu spamem. Możesz przeczytać mój pełny przewodnik tutaj: http://www.geektron.com/2014/01/how-to-filter-gmail-using-email-headers-and-stop-via-spam/

Chris Z
źródło
+ 1, doskonałe obejście !! Ale nie mogłem znaleźć nagłówka „X-Forwarded-For”. Inne „nazwy stron nagłówków” nie są w łatwych do przeszukiwania formatach. Na przykład „Return-Path: <campaign-value4shop-10213-2596-859268-pavan8085=gmail.com@mails.cratusservices.in>”. Domena winowajcy „mails.cratus ..” jest osadzona w danych nagłówka. Czy możemy używać wyrażeń regularnych do wyszukiwania ciągów w nagłówkach? Obecnie szukam bezpośrednio „mail.cratus ..”, co jest dla mnie wystarczająco dobre, ale może prowadzić do fałszywych trafień w przyszłości.
Pavan Manjunath
string.search()można wyszukiwać wyrażenia regularne! Teraz mój kod działa dobrze! Dzięki za pomoc. Twoja odpowiedź sprawiła, że ​​zainteresowałem się skryptami aplikacji Google :) Dopóki same Google nie wymyślą funkcji blokowania za pomocą adresów, oznaczę twoją odpowiedź jako poprawną :)
Pavan Manjunath
Cieszę się, że to zadziałało, Pavan! Niedawno zacząłem również eksperymentować ze skryptami aplikacji Google. Istnieje wiele fajnych przydatnych rzeczy, które możesz z tym zrobić!
Chris Z
@PavanManjunath Czy możesz opublikować własną odpowiedź, jak to zrobiłeś bez wpisu X-Fored-For? Bardzo tego potrzebuję. Dzięki.
zar
1

Słyszałem od mojego znajomego, że istnieje rozszerzenie Chrome, które może blokować adres e-mail lub nawet całą domenę za pomocą jednego kliknięcia. Jeszcze tego nie próbowałem, ale mam nadzieję, że to pomoże. Oto link: Block Sender

arlen
źródło
0

Zrobiłem podobny skrypt, sprawdza „Odebrano od:”, możesz dodać tyle domen, ile potrzeba w domainszmiennej.

//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
źródło
0

Jeśli ktoś skończy tutaj i szuka sposobu na odfiltrowanie otrzymanych wiadomości e-mail według etykiety i zapisanie ich w folderze etykiety zamiast oznaczania ich jako spam i wyrzucania ich do kosza, oto skrypt, który to robi (edytowany przez @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);
    }

   }
 }

Mam nadzieję, że to komuś pomoże

filipbarak
źródło
Czy możesz opracować, proszę, jaka jest etykieta? Chcę złożyć wniosek według domeny via.
zar