Jewelskart@greatestjewels.in via watchstore.cleanmail.in
Shoppingkart@shoppers.in via watchstore.cleanmail.in
一般来说,
something@somethingelse.in via watchstore.cleanmail.in
现在,我无法为每封邮件都设置一个过滤器,因为它们来自不同的ID。共同的部分是过孔地址
watchstore.cleanmail.in
。但是,当我尝试在“发件人”字段中使用watchstore.cleanmail.in
创建过滤器时,Gmail不会列出这些电子邮件。简而言之,该筛选器无法检测到地址。报告垃圾邮件/取消订阅选项不起作用。
如何摆脱这些烦人的垃圾邮件发送者?
#1 楼
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”标题。其他“标头网站名称”的格式也不容易搜索。例如,“返回路径:
– Pavan Manjunath
14-6-5在4:12
string.search()可以进行正则表达式搜索!现在我的代码工作正常!谢谢你的帮助。您的答案使我对Google应用程序脚本产生了兴趣:)直到Google自己提出了一种通过地址阻止的功能之前,我都会将您的答案标记为正确:)
– Pavan Manjunath
2014年6月5日在10:04
很高兴为您服务,Pavan!我最近也开始尝试使用Google App脚本,您可以使用它做很多有趣的事情!
–克里斯Z
2014年6月10日19:31
@PavanManjunath是否可以发布自己的答案,而无需输入X-forward-For,您是如何做到的?急需这个。谢谢。
– zar
19年11月14日在14:42
#2 楼
您可以使用以下配置过滤“通过”电子邮件:Has the words replyto:@domain-to-filter.com
评论
这是最简单直接的解决方案。在我的特定情况下,该脚本不实用。谢谢。
– R J
20年7月8日在13:00
#3 楼
我从我的一个朋友那里听说,有一个Chrome扩展程序可以一键阻止所有电子邮件地址甚至整个域。我还没有尝试过,但是希望对您有所帮助。这里是链接:阻止发件人#4 楼
我做了一个类似的脚本,它检查“ Received From:”,您可以在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();
}
}
}
}
}
#5 楼
如果最终有人在这里寻找一种通过标签过滤接收到的电子邮件并将其保存到标签文件夹中的方法,而不是将其标记为垃圾邮件并丢弃它们,那么这里的脚本就是这样做的(由@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);
}
}
}
希望有一天能对某人有所帮助
评论
请您详细说明标签是什么?我想通过via域提交。
– zar
19-11-14在14:09
#6 楼
它已经做了一些工作,但是答案却非常简单:每封电子邮件中都有一个标头,上面带有“ via”发件人的网站。
在电子邮件中,在右上角,点击三个垂直点,然后选择“显示原始图片”,它应该会在新标签页中弹出。这是带有标题的电子邮件的编码版本。
向下滚动并搜索包含以下内容的行:“ dkim = pass header.i = @(website.com)”
复制此位
然后,在实际的电子邮件(原始窗口)中,再次单击三个垂直点,然后选择“像这样过滤邮件”
在弹出窗口中,转到“有文字”行,然后粘贴您刚刚复制。
也从“自”行中删除任何内容。
单击窗口底部的“创建过滤器”。
选中“删除”框,然后再次“创建过滤器” 。
Ta-dah!
做到了。
#7 楼
https://support.google.com/mail/answer/6579?hl=zh_TWhttp://mashable.com/2012/06/22/gmail-filters/
我的建议是尝试创建过滤器。
评论
您能否详细说明需要做什么?仅链接的答案没有像在此处概述所需操作那样有用。此外,如果链接断开,仍然对将来的访问者有所帮助。
–安德鲁·洛特(Andrew Lott)
2014年1月17日19:46
不行
–法伊兹
2014年3月25日在17:20
评论
您确定通过每收到一封邮件都点击Gmail按钮将您举报为垃圾邮件吗?这应该适用于其他邮件。顺便说一句,永远不要取消订阅垃圾邮件,它只会确认您的地址正确。@JMax感谢您的答复。虽然不是每封邮件,但我曾经将许多此类邮件标记为垃圾邮件。感谢您提醒我有关退订陷阱的信息!
我不确定GMail是否具有这种功能。对他们来说,这将是一个很好的功能,因此建议将其推荐给Google。至于“将其作为垃圾邮件举报”问题,我的想法是,它只会阻止垃圾邮件从明显的域中传播,而不是从其发送的域中阻止。同样,这可能是一个很好的建议。