Cara memblokir "via" pengirim di Gmail

16

Saya memiliki masalah yang menjengkelkan ini di Gmail. Spammer mengabaikan filter spam Gmail dan sangat pandai sehingga saya tidak dapat membuat filter manual sendiri untuk memblokirnya. Mereka mengirimi saya email sampah dari ID email dalam bentuk:

[email protected] via watchstore.cleanmail.in

[email protected] via watchstore.cleanmail.in

Secara umum,

[email protected] via watchstore.cleanmail.in

Sekarang, saya tidak dapat menetapkan filter untuk setiap surat karena berasal dari ID yang berbeda. Bagian yang umum adalah alamat via yang watchstore.cleanmail.in. Tetapi ketika saya mencoba membuat filter dengan watchstore.cleanmail.indalam bidang Dari , Gmail tidak mencantumkan email ini. Singkatnya, filter tidak dapat mendeteksi melalui alamat.

Laporkan opsi Spam / Berhenti Berlangganan tidak berfungsi.

Bagaimana saya bisa menyingkirkan spammer yang mengganggu ini?

Pavan Manjunath
sumber
2
Apakah Anda yakin telah Report as Spammengklik tombol Gmail setiap surat yang Anda terima? Ini akan berfungsi untuk surat selanjutnya. Btw, jangan pernah berhenti berlangganan spam, itu hanya akan mengkonfirmasi bahwa alamat Anda sudah benar.
JMax
@ JPax Terima kasih atas jawabannya. Meskipun tidak setiap surat, tetapi saya biasa menandai banyak surat seperti Spam. Dan terima kasih telah mengingatkan saya tentang jebakan berhenti berlangganan!
Pavan Manjunath
1
Saya tidak yakin apakah GMail memiliki fungsi semacam ini. Ini akan menjadi fitur yang baik bagi mereka untuk ditambahkan jadi mungkin menyarankannya ke Google . Adapun Report as Spammasalah, pikiran saya adalah bahwa itu hanya akan memblokir spam dari domain semu, bukan domain itu dikirim melalui. Sekali lagi, ini mungkin fitur yang bagus untuk disarankan.
njallam

Jawaban:

6

Alasan filter bawaan Gmail tidak berfungsi dalam situasi ini adalah karena filter tidak dapat diterapkan ke tajuk "Penerusan-Untuk-X". Header itu adalah tempat info domain "via" disimpan.

Solusi saya adalah menggunakan Google Apps Script untuk memeriksa kotak masuk saya setiap beberapa menit dan secara otomatis menyaring pesan yang dikirim melalui domain tertentu. Ini sebenarnya bekerja dengan sangat baik. Sejak menerapkan skrip, saya tidak harus berurusan dengan jenis spam ini sama sekali. Anda dapat membaca panduan lengkap saya di sini: http://www.geektron.com/2014/01/how-to-filter-gmail-using-email-headers-and-stop-via-spam/

Chris Z
sumber
+1, solusi yang sangat baik !! Tapi saya tidak dapat menemukan header "X-Forwarded-For". Dan "nama situs header" lainnya tidak dalam format yang mudah dicari. Misalnya, "Jalur Pengembalian: <campaign-value4shop-10213-2596-859268-pavan8085=gmail.com@mails.cratusservices.in>". Domain pelakunya "mails.cratus .." tertanam di dalam data header. Bisakah kita menggunakan ekspresi reguler untuk mencari string di dalam header? Sampai sekarang, saya langsung mencari "mail.cratus .." yang cukup baik bagi saya, tetapi mungkin mengarah ke positif palsu di masa depan.
Pavan Manjunath
string.search()dapat melakukan pencarian regex! Sekarang kode saya berfungsi dengan baik! Terima kasih atas bantuan Anda. Jawaban Anda telah membuat saya tertarik pada skrip aplikasi Google :) Sampai Google sendiri datang dengan fitur untuk memblokir melalui alamat, saya akan menandai jawaban Anda sebagai benar :)
Pavan Manjunath
Senang itu berhasil untukmu, Pavan! Baru-baru ini saya mulai bereksperimen dengan Google App Script, dan ada banyak hal berguna yang keren yang dapat Anda lakukan dengannya!
Chris Z
@PavanManjunath Bisakah Anda memposting jawaban Anda sendiri bagaimana Anda melakukan ini tanpa X-forwarded-For entry? Sangat membutuhkan ini. Terima kasih.
zar
1

Saya telah mendengar dari seorang teman saya bahwa ada ekstensi Chrome yang dapat memblokir alamat email atau bahkan seluruh domain hanya dalam satu klik. Saya belum mencobanya tetapi saya harap ini membantu. Inilah tautannya: Blokir Pengirim

arlene
sumber
0

Saya membuat skrip yang serupa, memeriksa "Received From:", Anda dapat menambahkan domain sebanyak yang diperlukan dalam domainsvariabel.

//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
sumber
0

Jika ada yang berakhir di sini mencari cara untuk memfilter email yang diterima oleh label dan menyimpannya ke folder label alih-alih menandainya sebagai spam dan membuangnya, inilah skrip yang melakukan hal itu (Diedit yang disediakan oleh @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);
    }

   }
 }

Semoga ini bisa membantu seseorang suatu hari nanti

filipbarak
sumber
Bisakah Anda jelaskan apa labelnya? Saya ingin mengajukan melalui domain.
zar