วิธีบล็อกผู้ส่ง“ ผ่าน” ใน Gmail


16

ฉันมีปัญหาที่น่ารำคาญใน Gmail ผู้ส่งอีเมลขยะผ่านตัวกรองจดหมายขยะของ Gmail และฉลาดจนฉันไม่สามารถสร้างตัวกรองด้วยตนเองของตัวเองเพื่อบล็อกพวกเขาได้ พวกเขากำลังส่งอีเมลขยะให้ฉันจากรหัสอีเมลของแบบฟอร์ม:

Jewelskart@greatestjewels.in via watchstore.cleanmail.in

Shoppingkart@shoppers.in via watchstore.cleanmail.in

โดยทั่วไปแล้ว

something@somethingelse.in via watchstore.cleanmail.in

ตอนนี้ฉันไม่สามารถตั้งค่าตัวกรองสำหรับจดหมายแต่ละฉบับและทุกฉบับที่มาจากรหัสที่แตกต่างกัน ส่วนที่เหมือนกันคือผ่านทางwatchstore.cleanmail.inที่อยู่ซึ่งเป็น แต่เมื่อฉันลองสร้างตัวกรองด้วยwatchstore.cleanmail.inในจากฟิลด์ Gmail จะไม่แสดงรายการอีเมลเหล่านี้ กล่าวโดยสรุปตัวกรองไม่สามารถตรวจพบผ่านที่อยู่

รายงานตัวเลือกสแปม / ยกเลิกการสมัครไม่ทำงาน

ฉันจะกำจัดผู้ส่งอีเมลขยะที่น่ารำคาญเหล่านี้ได้อย่างไร


2
คุณแน่ใจหรือไม่ว่าคุณได้Report as Spamคลิกปุ่ม Gmail ทุกฉบับที่คุณได้รับ? สิ่งนี้น่าจะใช้ได้กับเมลอื่น ๆ Btw ไม่เคยยกเลิกการสมัครสแปมมันก็แค่ยืนยันว่าที่อยู่ของคุณถูกต้อง
JMax

@JMax ขอบคุณสำหรับการตอบกลับ แม้ว่าจะไม่ใช่จดหมายทุกฉบับ แต่ฉันเคยทำเครื่องหมายว่าจดหมายเหล่านั้นเป็นสแปมจำนวนมาก และขอขอบคุณที่เตือนฉันเกี่ยวกับกับดักที่บอกเลิก!
Pavan Manjunath

1
ฉันไม่แน่ใจว่า GMail มีฟังก์ชั่นนี้หรือไม่ มันจะเป็นคุณลักษณะที่ดีสำหรับพวกเขาที่จะเพิ่มดังนั้นบางทีแนะนำไปยัง Google สำหรับReport as Spamปัญหาความคิดของฉันคือมันจะบล็อกสแปมจากโดเมนที่ชัดเจนไม่ใช่โดเมนที่ถูกส่งผ่าน อีกครั้งนี่อาจเป็นคุณสมบัติที่ดีที่จะแนะนำ
njallam

คำตอบ:


6

สาเหตุที่ตัวกรองในตัวของ Gmail ไม่ทำงานในกรณีนี้เพราะไม่สามารถใช้กับส่วนหัว "X-Forwarded-For" ส่วนหัวนั้นเป็นที่เก็บข้อมูลโดเมน "ผ่าน"

โซลูชันของฉันคือการใช้สคริปต์ของ Google Apps เพื่อตรวจสอบกล่องจดหมายของฉันทุกสองสามนาทีและกรองข้อความที่ส่งผ่านโดเมนเฉพาะโดยอัตโนมัติ มันใช้งานได้ดีจริง ๆ ตั้งแต่ใช้สคริปต์ฉันไม่ต้องจัดการกับสแปมประเภทนี้เลย คุณสามารถอ่านคำแนะนำแบบเต็มของฉันได้ที่นี่: http://www.geektron.com/2014/01/how-to-filter-gmail-using-email-headers-and-stop-via-spam/


+1 วิธีแก้ปัญหาที่ยอดเยี่ยม !! แต่ฉันไม่พบส่วนหัว "X-Forwarded-For" และ "ชื่อส่วนหัวของไซต์" อื่น ๆ นั้นไม่อยู่ในรูปแบบที่ค้นหาได้ง่าย ตัวอย่างเช่น "Return-Path: <campaign-value4shop-10213-2596-859268-pavan8085=gmail.com@mails.cratusservices.in>" ผู้ร้ายโดเมน "mails.cratus .. " จะถูกฝังอยู่ภายในข้อมูลส่วนหัว เราสามารถใช้การแสดงออกปกติเพื่อค้นหาสตริงภายในส่วนหัวได้หรือไม่? ณ ตอนนี้ฉันกำลังค้นหา "mail.cratus .. " โดยตรงซึ่งดีพอสำหรับฉัน แต่อาจนำไปสู่ผลบวกปลอมในอนาคต
Pavan Manjunath

string.search()สามารถทำการค้นหา regex! ตอนนี้รหัสของฉันทำงานได้ดี! ขอบคุณสำหรับความช่วยเหลือของคุณ. คำตอบของคุณทำให้ฉันสนใจสคริปต์ของแอพ Google :) จนกว่า Google จะมาพร้อมกับคุณสมบัติในการบล็อกผ่านที่อยู่ฉันจะทำเครื่องหมายคำตอบของคุณว่าถูกต้อง :)
Pavan Manjunath

ดีใจที่ได้ผลกับคุณ Pavan! ฉันเพิ่งเริ่มทดลองกับ Google App Scripts เช่นกันและมีสิ่งดีๆมากมายที่คุณสามารถทำได้!
Chris Z

@PavanManjunath คุณสามารถโพสต์คำตอบของคุณเองได้อย่างไรโดยไม่ต้องส่งต่อ X-For? ไม่ต้องการสิ่งนี้ ขอบคุณ
zar

1

ฉันได้ยินมาจากเพื่อนของฉันว่ามีส่วนขยายของ Chrome ที่สามารถบล็อกที่อยู่อีเมลหรือแม้กระทั่งโดเมนทั้งหมดได้ในคลิกเดียว ฉันยังไม่ได้ลอง แต่หวังว่าจะช่วยได้ นี่คือลิงค์: Block Sender


0

ฉันทำสคริปต์ที่คล้ายกันมันจะตรวจสอบ "ได้รับจาก:" คุณสามารถเพิ่มโดเมนได้มากเท่าที่จำเป็นใน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

หากทุกคนลงเอยที่นี่โดยมองหาวิธีกรองป้ายกำกับที่ได้รับอีเมลและบันทึกลงในโฟลเดอร์ของป้ายกำกับแทนที่จะทำเครื่องหมายว่าเป็นจดหมายขยะและทำลายพวกเขานี่เป็นสคริปต์ที่ทำเช่นนั้น (แก้ไขโดย @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);
    }

   }
 }

หวังว่าจะช่วยใครซักคนในบางวัน


คุณช่วยอธิบายได้อย่างละเอียดว่าฉลากคืออะไร? ฉันต้องการที่จะส่งไฟล์ผ่านโดเมน
zar

-2

https://support.google.com/mail/answer/6579?hl=en

http://mashable.com/2012/06/22/gmail-filters/

คำแนะนำของฉันคือลองสร้างตัวกรอง


1
คุณช่วยให้รายละเอียดเพิ่มเติมเล็กน้อยเกี่ยวกับสิ่งที่ต้องทำ? คำตอบสำหรับลิงก์อย่างเดียวไม่เป็นประโยชน์เท่ากับการให้สรุปที่นี่ถึงการกระทำที่จำเป็น นอกจากนี้หากลิงก์ลงไปยังมีสิ่งที่เป็นประโยชน์สำหรับผู้เข้าชมในอนาคต
Andrew Lott

Nah ไม่ทำงาน
Faiz
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.