为了阻止垃圾邮件(mail spam),电子邮件系统的用户和管理员都使用了各种反垃圾邮件技术(英语:anti-spam techniques)。这些技术中的一些已经被嵌入产品、服务和软件中来帮助用户和管理员减轻负担。没有一种技术能够完美地解决垃圾邮件问题,每一种都要在误识别合法邮件与漏掉某些垃圾邮件之间做出妥协。反垃圾邮件技术可以被粗略地分为四类:必须由个人来处理的,可以被电子邮件管理员自动化处理的,可以被发送人自动处理的,以及被研究人员和执法人员所使用的。
垃圾邮件的检测是基于邮件的内容的,比如检测例如“viagra”(伟哥)的关键字或者依据统计学方法,这是很常用的。这种方法在精心设计后对于单独收到的邮件识别还是非常准确的,但是对于识别"specialist"单词中的"cialis"关键字就会出错。通过内容也无法识别该邮件是未经请求的或者是批量发送的,而这是垃圾邮件的关键特征。所以,如果一个朋友发给你一个提到“伟哥” 的笑话,那么内容过滤器就会很容易地把它标记为垃圾邮件,尽管这封邮件既不是不请自来的,也不是批量发送的。
最流行的DNSBL是一些已知垃圾邮件发送者、开放中继以及僵尸垃圾邮件发送者的列表。
垃圾邮件陷阱一般是无效的或者长时间失效的电子邮件地址,用来收集垃圾邮件。一个有效的垃圾邮件陷阱是不被公布的,它一般只有在被字典攻击时或者在抓取隐藏的网页时被发现。为了使垃圾邮件陷阱有效,其地址不得被告知任何人。一些黑名单,例如spamcop,使用垃圾邮件陷阱来抓住垃圾邮件发送者并将他们加入黑名单。
执行简单邮件传输协议(SMTP)的技术需求可以被用来阻止来自与RFC标准不兼容的系统的邮件。大量的垃圾邮件发送者使用写的不好的软件或者不能遵守标准,因为他们没有发送垃圾邮件的电脑(僵尸电脑)的合法控制权。因此,通过在邮件传输代理(MTA)上设置限制,邮件管理员可以显著减少垃圾邮件。在许多情况下,在SMTP的EHLO声明中简单地请求一个有效的FQDN就足以阻止25%的垃圾邮件进入。
个人可以使用很多技术来限制其电子邮件地址的可用性来减少或阻止这些地址对于垃圾邮件的吸引力。
匿名投递,或者使用假名和地址,是一种避免“地址收集”的办法,但是用户需要确定假地址是无效的。那些想要接收合法邮件的用户可以改变他们的地址,这样人类可以识别但是垃圾邮件发送者无法识别。比如,joe@example.net可以被写成joeNOS@PAM.example.net.invalid。但是地址整理可能导致合法的回复发生丢失。如果这不是用户的有效地址,那么它一定要是真的无效的,否则一些人或服务器还是可以向其发送垃圾邮件。还有一些方法使用透明地址整理来避免地址收集,用户可以看到实际地址但是电子邮件地址收集器无法识别,例如使用图片来显示全部或部分网页中的电子邮件地址,或者使用CSS来对地址进行一些模糊处理。
我们必须谨记有些联系人在受到一点点障碍后就会放弃联系,而原本的接收者对此一无所知。除此之外,有的人假定从来不会收到来自X国的邮件,然后就屏蔽了它,这样也许会引发一个恶性循环。
电子邮件发送者通常人认为对于他们发出信息的回应是对于某个电子邮件地址有效的确认,即使回复的内容类似“不要给我发垃圾邮件”。类似的,许多垃圾邮件包含网页连接或者地址,并且引导用户通过这些连接来把自己从垃圾邮件发送者的邮件列表中移除。在许多情况下,反垃圾邮件者通过测试这些链接证明他们并不导航至地址移除页面,而是带来更多的垃圾邮件。
垃圾邮件的发送者地址通常是伪造的,包括使用接收者的地址作为发送地址,这样对于垃圾邮件的回复都会导致投递失败或者被投递到无辜的邮件地址被滥用的用户那里去。在许多国家,以这种形式提供虚假的身份是一种刑事犯罪。
在Usenet中,通常认为更应该避免响应垃圾邮件。许多ISP拥有搜索和删除重复信息的软件。有人可能看到一个垃圾邮件就回复了,而不等服务器删除之,这样一来,垃圾邮件就被重复发表了。这会导致这份副本长时间保留,因为这不是重复的。
现在有大量的应用软件,电器,服务和软件系统可以供给电子邮件管理员使用,以减少在其系统和邮箱垃圾邮件的负荷。一般来说,这些能直接在大部分垃圾邮件的SMTP连接阶段尝试拒绝(或“阻拦”)。如果它们接受信息,它们通常会再进一步分析这些内容 - 并可能决定“隔离”任何已列为垃圾邮件。
一些系统已经开发域名所有者来识别谁可以发送邮件。许多这些系统使用DNS来列出授权代表它们的发送垃圾电子邮件的网站。虽然没有直接攻击垃圾邮件,这些系统使垃圾邮件发送者伪造地址更加困难。
对于电子邮件确认RFC标准的简单邮件传输协议(SMTP)的分析,可以被用来判断该邮件是垃圾邮件的可能性。
统计(或贝叶斯)过滤一旦设置一次,就无需管理维护本身;相反,用户将邮件标记为垃圾邮件或非垃圾邮件,过滤软件会从这些判断来学习。
Template:Spamming