Outis Vibe 项目
# Outis:用假"用户不存在"回邮对抗 AI 自动化邮件骚扰 ## 项目简介 Outis 是一个用 Go 编写的命
Outis:用假"用户不存在"回邮对抗 AI 自动化邮件骚扰
项目简介
Outis 是一个用 Go 编写的命令行工具,针对收到的可疑邮件伪造一封 RFC 3464 标准的"用户未知"退信回执,让发件方误以为你的邮箱不存在,从而把你从其发送名单中移除。它专为当下 AI 生成的批量营销邮件设计,把"没人回信就别再发"的逻辑自动化。
核心功能
- 伪造 RFC 3464 退信:multipart/report 含 message/delivery-status(status 5.1.1)与原始 message/rfc822,形态与 Postfix 几乎一致。
- 保留原 Return-Path:以 MAILER-DAEMON@ 作为信封发件人(若 SMTP 服务端允许)。
- 逐域账户管理:每个账户对应一个域;账户的 SMTP / MTA / 鉴权参数按域隔离。
- 批量与剪贴板输入:支持单文件、目录批量、剪贴板直接读取,并支持 dry-run 仅生成 .bounce.eml。
- OS Keychain 存密码:账户密码写入系统钥匙串,配置文件不含明文。
- 抑制名单规避:自动识别 Amazon SES 等共享抑制名单的发送域,改向 From 头地址发退信。
- 无污染回执:故意避开 SMTP 会话期硬 550 拒绝,让发件方日志显示投递成功,副作用只落到真正处理通知的那个人。
技术实现
Outis 命名取自《奥德赛》中奥德修斯对独眼巨人说的"Outis(无人)",把"我不在"变成可执行的 SMTP 退信动作。设计上故意避开 SMTP 会话期的硬 550 拒绝——那会被发件方立刻识别为有效拒收;它选择在邮件已经被收下后再异步发送"用户未知"通知,让发件方日志显示投递成功,副作用只落到真正处理通知的那个人。配置存储在 os.UserConfigDir()/outis/config.toml,账户匹配优先看 Delivered-To / To / Cc 中的域名,确保发送域、收件域、SMTP 服务域三者一致,提高退信可信度。
快速上手
- 构建二进制:
go build -o outis cmd/outis/main.go。 - 初始化账户:
./outis init [domain],按提示输入 SMTP 主机、端口、用户名,密码写入 OS keychain。 - 查看账户:
./outis accounts。 - 预览单封邮件:
./outis message.eml,确认后再真正发送。 - 批量处理整个目录:
./outis inbox/,按 Y 一次性确认全部。 - 干跑仅生成退信文件:
./outis -n -o out/ inbox/,把 .bounce.eml 写到 out/。 - 发送后删除原邮件:加上
-d标志。
适用人群
- 被 AI 生成的批量营销邮件持续骚扰的个人用户
- 维护自建域邮件服务器的运维
- 关注收件箱信噪比、希望最小化"假回信"风险的用户
- 想要可脚本化、可审计的退信工具的隐私爱好者
- 对抗垃圾邮件但不想直接拒收(影响合法投递)的从业者
团队信息
AI产品库
官方
由 AI 猎手自动发现
评论与建议
登录 后参与评论或提建议