退订与禁止发送
了解收件人如何拒收营销活动邮件、Warmbly 如何处理拒收请求,以及禁止发送名单的工作方式。
每封营销活动邮件都为收件人提供停止接收的方式。所有拒收选择都会在整个工作区内自动执行。
选择收件人的拒收方式
打开设置 > 发送 > 退订,设置工作区的拒收方式。
选择回复以拒收(默认)、退订链接或不添加。
可按需修改说明句或链接文字。
若某个营销活动需要使用不同方式,可在该活动的偏好设置中单独指定。
使用须知
- “remove me”这类要求停止联系的回复,会将回复者加入禁止发送名单;“not interested”这类表示不感兴趣的回复不会。
- 联系人 > 禁止发送名单对整个工作区生效:任何营销活动都不会向名单中的地址发送邮件。
acme.com这样的裸域名会禁止向该域名下的所有地址发送。- 退订链接会打开确认页面,只有收件人点击按钮后才生效。
- 自托管实例中的
API_PUBLIC_URL必须设置为收件人能够访问的地址。
每封营销活动邮件都给收件人提供停止接收的方式,拒收结果会在整个工作区自动执行。本页介绍三种机制、其背后的禁止发送名单,以及影响收件人所见内容的设置。
Warmbly 会在每封营销活动邮件的签名后追加拒收方式。共三种模式,可在工作区的设置 > 发送 > 退订中设置,也可在单个营销活动的偏好设置中覆盖:
| 模式 | 追加内容 | 默认 |
|---|---|---|
| 回复以拒收 | 一句普通说明,例如“如果这封邮件与你无关,直接回复告诉我即可,我不会再给你发邮件。” | 是 |
| 退订链接 | 含真实链接的说明句,例如“找错人了,或不感兴趣?退订” | |
| 不添加 | 正文中不添加拒收方式 |
说明句和链接文字都可以自行修改。
显示位置
拒收说明位于最后:在正文、手动放置的内容以及邮箱签名之后。
对于采用 HTML 布局的邮件,“最后”指邮件布局内部,而不是整封邮件外面。经过设计的邮件通常是一列居中的内容;如果拒收说明被追加在这列之外,就会贴着窗口左侧显示在页面背景上,失去正文的样式。Warmbly 会把说明放入邮件原有容器中,使其沿用上方正文的宽度、内边距和对齐方式。如果邮件由一组全宽行堆叠组成(拖放编辑器通常导出这种结构),没有单一容器可放置,说明就会按相同行宽居中。邮箱签名也采用同样规则。
在可视化编辑器中直接撰写的邮件没有独立布局,说明会直接追加到末尾。
回复以拒收是默认方式,因为冷邮件外联本就是个人邮件,这种写法也更自然。正式的退订链接和页脚,是邮箱服务商判断邮件属于批量营销的强信号;一些邮件送达团队报告,带这类内容的冷邮件收件箱到达表现更差。要求停止联系的回复会被自动识别并执行(见下文),因此这句说明是真正的拒收机制,不只是礼貌用语。CAN-SPAM、CASL 和澳大利亚《垃圾邮件法》均接受以回复作为拒收方式。
当名单以消费者为主、法务团队要求提供链接,或发送量达到服务商批量发件人规则的适用规模时,退订链接更合适。链接对每位收件人和每个营销活动唯一,采用不可推断的形式,无法被猜测或篡改,发送后一年内有效。点击会打开只有一个按钮的简洁确认页;必须按下按钮才生效,因为链接扫描器和预览工具会访问邮件中的所有链接。完成后,页面还提供撤回选项,供误操作退订的人恢复。
地址刻意保持简短,例如 https://t.yourdomain.com/unsubscribe/Xk3mP9qR2tLwAb7dEfGhIj。这一点很重要,因为邮件的纯文本部分无法隐藏 URL,收件人可能会看到完整地址;过长的地址看起来更像跟踪参数,而不是退出方式。对于同一收件人,邮件序列的每个步骤都复用同一地址,因此收件人归档中的旧邮件与最新邮件会打开同一页面。
令牌来自密码学随机源,含有 128 位随机信息,比随机 UUID 所含的随机位更多,长度却更短,因此无法猜测或通过遍历推导。它不标识任何人:其中没有联系人 ID、营销活动 ID 或邮箱地址;打开的页面也不泄露收件人是谁、邮件由谁发送。仅打开链接不会改变任何状态,因为链接扫描器和邮件安全网关会获取邮件中的每个 URL,只有按下按钮才会执行。
链接指向的地址
邮箱或营销活动配置了已验证的自定义跟踪域名时,退订链接会由该域名提供,收件人看到的是 https://t.yourdomain.com/unsubscribe/...,而非平台地址。营销活动的域名优先于邮箱域名,并且只使用已验证的域名。页面仍是同一个页面,以你的身份呈现:没有标志、产品名称或脚本,因为邮件来自你的邮箱,而非某个平台。
页面会使用收件人的语言。它遵循浏览器请求的语言,支持所有标签语言,包括德语、法语、日语、阿拉伯语等,并为台湾和香港提供繁体中文。不支持的语言回退到英语;从右向左书写的语言也会从右向左显示。这无需任何设置:无论工作区或营销活动使用什么语言,德国收件人都会看到德语。
没有自定义域名时,链接保留在实例自己的 API 地址上。无论哪种情况,使用的都是发件人的基础设施,而非第三方基础设施,拒收结果也都会进入同一份禁止发送名单。
退订链接会随工作区导出中的“营销活动”数据组一起迁移,因此更换实例不会使收件人手里的链接失效。但仍需继续提供链接最初使用的跟踪域名,否则请求会抵达已不再响应的主机。
也可以把链接放在自己的文案中,而不放在页脚:从变量菜单插入退订链接变量,或输入 {{.UnsubscribeLink}}。
单独插入该变量时,它在 HTML 邮件中会变成真实链接,文字与页脚的链接文字设置一致(默认为“退订”)。收件人看到的是文字,而不是地址。如果要自定义措辞,先选中文字,再从变量菜单选择退订链接;也可以点击链接按钮,使用地址字段旁的退订快捷选项。选中文字会成为链接,Warmbly 在发送时填入实际地址。
这会带来两种表现。邮件的纯文本版本无法隐藏 URL,因此单独插入变量时会显示完整地址;自行给文字套上链接时,则只保留你写的文字。无论哪种方式,点击跟踪都不会改写该链接,因此拒收不会被计为点击。
纯文本营销活动
启用仅纯文本的营销活动完全不发送 HTML,因此链接无法藏在文字背后:链接模式和手动放置的变量都会在正文中打印完整地址。地址足够短,可以占一行,也使用发件人自己的域名,但在本应像个人写给个人的邮件中,它仍然是一个 URL。编辑器会在撰写时提示,启动检查也会再次说明。
这种情况可以使用邮件头。它不属于可见文案,对纯文本邮件同样有效,也正是 Gmail 和 Yahoo 实际检查的内容。保持退订邮件头开启,同时将正文拒收说明保留为回复式句子,收件人就既能在邮件客户端中使用一键退订,也能在正文看到自然的说明。
每个营销活动都可以独立于正文,附加 List-Unsubscribe 和 List-Unsubscribe-Post 邮件头(RFC 8058)。识别这些邮件头的客户端会在发件人姓名旁显示自己的退订控件,点击后无需打开页面即可退订。开关位于偏好设置 > 退订邮件头,默认开启。
有两点需要了解。Gmail 只会为已经被其判定为批量邮件的内容显示按钮,因此从 Workspace 邮箱发送、一对一风格的冷邮件通常不会显示。Google 和 Yahoo 也只会在每天向其消费者邮箱发送约五千封以上时强制要求该邮件头,而 Warmbly 默认限制下的任何单个邮箱都远达不到这一规模。保留该邮件头没有成本,值得开启,但它不能替代正文中的拒收说明。
Warmbly 会读取每封营销活动邮件的回复。如果出现“unsubscribe”“remove me”“stop emailing me”“opt out”或“do not contact”等停止联系请求,会立即将回复者加入禁止发送名单。所有标签语言的回复都按相同方式识别,不受工作区启用哪些标签语言的限制:“bitte austragen”“désinscrivez-moi”“denme de baja”“wypiszcie mnie”“отпишите меня”或“配信停止”也会使回复者退订。系统同样会按这些语言切除引用历史,避免营销活动自身携带的德语或日语拒收说明让所有回复者误退订。只读取回复中新写的内容;下方引用历史包含你原来的拒收措辞,因此会被忽略。短语按完整单词匹配,所以“stop by our booth”不会导致任何人退订。
只有正在回答你的人,才能通过这种方式拒收:例如在营销活动会话中回复的人,或你的联系人向你写来邮件。邮箱收到的其他内容都不处理,即使其中写有“unsubscribe”:
- 退信或投递失败通知,其中可能包含退回的原始邮件及其退订邮件头。
- 外出自动回复或其他自动回复。
- 发给邮件列表的电子通讯或通知,其中“退订”页脚属于它自己的发件人。
- 联系人成为联系人之前发送的邮件,例如你后来才导入的地址所留下的旧邮件;这些不可能是在回复你向其发送的内容。它们会保留在统一收件箱中,但不会让任何人退订、不会创建跟进任务,也不记录为回复。营销活动会话中的回复始终会被计入。
按照早期更宽泛的回复识别规则生成的名单条目,会被重新检查一次。如果产生条目的原邮件,以及该地址的其他任何邮件,按当前规则都不构成停止联系请求,系统会解除条目、恢复联系人的已订阅标志,并在审计日志中记录解除操作。最初由链接或一键退订产生的条目,以及已找不到原邮件的条目,仍会保留。
“not interested”这类回复会被归类为负向,可能使邮件序列停止,但不会将联系人加入禁止发送名单。今天说不感兴趣的人,明年可能仍适合联系;明确要求停止联系的人,则是在要求完全不再联系。
如果希望手动处理此类回复,可以关闭设置 > 发送 > 尊重停止联系的回复。关闭时若仍保留回复式拒收说明,就意味着你承诺提供拒收方式,并自行负责执行。
联系人 > 禁止发送名单包含工作区内所有营销活动都不得发送的地址和域名,无论通过何种方式加入:
| 来源 | 加入方式 |
|---|---|
| 已退订 | 点击链接、使用邮件客户端退订按钮,或回复要求停止联系 |
| 垃圾邮件投诉 | 收件人的服务商针对你发送的邮件提交投诉报告 |
| 退信 | 该地址发生永久投递失败 |
| 手动添加 | 团队成员手动加入 |
| 导入 | 作为名单的一部分粘贴导入 |
名单在整个工作区生效。条目会阻止所有营销活动及未来新建活动向该地址发信,也会阻止统一收件箱中的新邮件和回复,并在拒绝时指出地址。统一收件箱的转发是唯一例外:它把已收到的邮件转给你手动选定的收件人,因此将客户域名列入名单以排除外联,不会妨碍你向客户转发线索。导入名单包含被禁发地址时,联系人仍会创建,但不会收到邮件。启动检查会从营销活动可投递总数中剔除被禁止发送的潜在客户,使活动显示的预计发送量与实际一致。
添加条目。 点击 添加 ,粘贴地址或域名,可每行一个,也可从表格复制整列。裸域名(acme.com 或 @acme.com)会禁止向该域名下全部地址发送,通常用于将客户、合作伙伴和自己公司排除在外联之外。每项条目都可以保存可选原因。
移除条目。 每项条目都有 移除 操作,被禁止发送的联系人抽屉中也提供相同操作。移除因收件人退订、投诉或退信而产生的条目时,会显示更强的确认警告,并在审计日志中记录谁解除了限制,以及该地址原先为何被列入。移除地址也会恢复联系人的 已订阅 标志,避免两者不一致。
联系人与已订阅标志。 联系人自身的 已订阅 开关是第二道限制:即使没有禁止发送条目,关闭订阅的联系人也会被所有营销活动跳过。拒收会同时更新两处,因此退订的联系人在任何位置都显示为已退订。
禁止发送条目会随工作区导出迁移,避免工作区换到另一个实例后,再次向已经拒收的人发送邮件。
退订链接由 API 进程通过 API_PUBLIC_URL 中的源地址提供,因此该变量必须设为收件人可以访问的地址。不设置并不会禁用链接:后端会回退到自己的监听地址 API_HOST,其默认通配绑定解析为 http://localhost:8080。这样,每封营销活动邮件中的拒收链接都会指向只有后端所在机器才能打开的地址。
现在生成的链接对应数据库中的一条记录,因此轮换密钥后仍有效,也能随工作区导出迁移。短令牌机制出现前生成的链接,将完整声明放在令牌中,并使用 AUTH_SECRET 签名;系统仍接受这些旧链接,但轮换该密钥会使收件箱中仍保留的旧链接失效。
营销活动邮件中的内容不会指向 warmbly.com。拒收地址、跟踪像素和所有包装链接都根据你自己的 API_PUBLIC_URL 和 TRACKING_DOMAIN 构建;实例中的工作区如果验证了自己的跟踪域名,拒收链接则改用该域名。工作区已验证域名通过 CNAME 指向你的 TRACKING_DOMAIN,因此跟踪服务不仅提供像素和点击令牌路由,也提供退订路由。运行仅核心组件的安装没有跟踪服务,保持 TRACKING_DOMAIN 未设置,并通过 API 地址提供所有拒收链接。
一键退订(List-Unsubscribe-Post)只有在链接使用 https 时才会附加。仅支持普通 HTTP 的实例仍会发送普通 List-Unsubscribe 邮件头,因为服务商向 http 地址 POST 退订请求时,要么拒绝请求,要么使令牌以明文传输。