outis:通过生成并发送伪造的"用户不存在"退信邮件来对抗 AI 垃圾邮件
摘要
Outis 是一款开源工具,通过生成符合 RFC 3464 标准的伪造"用户不存在"退信消息,并经由你自己的域名 SMTP 服务器发送,来对抗 AI 生成的垃圾邮件,诱使发件人将你的地址从他们的列表中移除。
查看缓存全文
缓存时间: 2026/10/01 16:28
dtonon/outis
来源:https://github.com/dtonon/outis
Outis
Outis 通过为收到的邮件生成一封伪造的“用户不存在“退信来对抗垃圾邮件,让发件人误以为你的地址不存在。对于近期 AI 自动生成的自动化邮件趋势,这种方式应该很有效——发件人往往期望收到回复,而 Outis 能帮助你从他们的名单中被清除。
Outis(Οὖτις)在希腊语中意为“无人“。在《奥德赛》中,奥德修斯在独眼巨人波吕斐摩斯面前自称“No one“,这样当失明的巨人呼救并大喊“有人在伤害我“时,其他独眼巨人便离开了。这个工具对你的邮箱做了同样的事:它告诉每一个询问的人,这里“没有人“。
退信是一封基于 RFC 3464 的投递状态通知,其格式仿照 Postfix:multipart/report,包含一个人类可读的部分、一个状态为 5.1.1 的 message/delivery-status 部分,以及作为 message/rfc822 附加的原始邮件。它会从 MAILER-DAEMON@ 以空信封发件人发送到原始邮件的 Return-Path(前提是 SMTP 服务器允许)。
已知限制
与 SMTP 会话中的真正 550 拒收不同,这封退信是在消息已被接收之后发出的,因此发件人的日志会显示投递成功,收件箱对任何重试仍然可用,而实际效果只会作用于收到并处理了该通知的那一个发件人。
要求
只有当退信来自你控制的域名时,它才具有可信度。如果可能,请使用该域名下的 SMTP 账号,以便你可以以 MAILER-DAEMON@... 的身份发信。消费级服务商(Gmail、iCloud 等)会改写 From 头,从而暴露你。
用法
go build -o outis cmd/outis/main.go
./outis init [domain] # 添加或更新账号;密码存入系统钥匙串
./outis accounts # 列出所有账号
./outis message.eml # 预览,然后确认
./outis -c # 从剪贴板读取邮件
./outis -n message.eml # 演练运行,只打印输出
./outis -y -r [email protected] message.eml
./outis -a example.com -c # 强制使用指定账号,而非匹配收件人
./outis inbox/ # 处理目录中的每个文件,整批只需一次确认
./outis -n -o out/ inbox/ # 演练运行,将每封退信写入 out/.bounce.eml
./outis -d inbox/ # 每封退信发送成功后删除对应文件
批量模式
参数可以是文件和目录的任意组合。目录会展开为其可见的常规文件(任意扩展名,不递归)。每个文件会各自匹配一个账号;无法解析或无法匹配的文件会被报告并跳过,其余文件继续处理;只要有任何失败,退出码就非零。
当输入超过一个时,不再显示完整的预览,而是为每个文件显示一行摘要,随后只需一次确认。
多账号
每个账号对应一个域名。退信会使用与原始邮件的某个收件人(Delivered-To、To 或 Cc)域名相匹配的账号来构建,因此发件人、邮件主机和 SMTP 服务器都归属于该域名。
如果没有账号匹配,或有多个账号匹配,请使用 --account。
[[accounts]]
domain = "example.com"
mta_host = "mail.example.com"
[accounts.smtp]
host = "smtp.example.com"
port = 587
username = "[email protected]"
[[accounts]]
domain = "other.org"
mta_host = "mx.other.org"
[accounts.smtp]
host = "smtp.other.org"
port = 465
username = "[email protected]"
共享抑制列表的服务商
某些服务商,尤其是 Amazon SES,维护着一份在其所有客户之间共享的抑制列表:一次硬退信会导致所有 SES 发件人在一段时间内无法向你的地址发送邮件。
对于 reply_to_from_domains 中列出的 Return-Path 域名,退信会改为发送到 From 头中的地址。默认值为 ["amazonses.com"],子域名同样匹配。设为 [] 可禁用此功能。
reply_to_from_domains = ["amazonses.com"]
配置
账号上的 envelope_from 可强制指定 SMTP 信封发件人,而不是依次尝试空发件人、MAILER-DAEMON@domain 和账号用户名。
配置文件位于 os.UserConfigDir()/outis/config.toml(macOS 上为 ~/Library/Application Support/outis,Linux 上为 ~/.config/outis)。可通过环境变量 OUTIS_CONFIG 覆盖。
相似文章
最恶劣的垃圾邮件:iLands AI代理内情揭秘
本文详细描述了作者在iLands平台上收到AI代理发送的垃圾邮件的经历,这些代理提供研究服务,文章批评这种模式正在破坏人类工作。
探索避免向AI代理(Instinct/Grokbot)提供真实Gmail的方案
文章介绍了Decoy,这是一个创建临时电子邮件账户的工具,用于隔离AI代理如Instinct和Grokbot,防止它们访问真实的Gmail数据。可以通过iOS应用和浏览器扩展免费测试。
我的雇主在用AI以“我”的名义,从我的邮箱地址,附上我的名字发送邮件。我是不是完蛋了,还是有什么办法可以阻止?
一名员工发现雇主在未经其知情的情况下,使用AI从其Outlook账户发送邮件,引发了对伦理、职业损害和法律追索的担忧。
AI Emaily
AI Emaily 是一个 AI 驱动的收件箱,能模仿你的风格自动撰写和回复。
7万AI智能体发送160万封邮件事件
iLands平台的AI智能体发送了超百万封未经请求的邮件,引发垃圾邮件投诉与法律担忧,同时引发了关于智能体责任机制与基础设施解决方案的讨论。