FairEmail 反钓鱼机制:消息重格式化与链接安全确认
钓鱼邮件长什么样
钓鱼邮件的典型套路:伪装成银行、支付平台、社交平台等「权威机构」的官方邮件,诱导你点击一个看起来很像官方地址但实际是恶意网站的链接,或者下载一个伪装成 PDF 文档的可执行文件。
FairEmail 提供了一套组合拳来对抗钓鱼攻击,从「打开邮件」到「点击链接」的每一步都有防护。
防护第一层:安全消息视图(消息重格式化)
当 FairEmail 打开一封邮件时,它不会直接把邮件原始 HTML 塞给 Android WebView 渲染。它会先对邮件正文进行「重格式化」处理:
剥离的内容
- 所有 JavaScript 脚本:即使邮件 HTML 中包含
<script>标签,FairEmail 会彻底剥离。防止恶意脚本在你的手机上执行 - 外链样式表(
<link rel="stylesheet">):防止邮件通过加载外部 CSS 文件来追踪你 - 不安全的 HTML 标签:如
<iframe>(可嵌入任意外部网页)、<object>、<embed>(可嵌入插件执行) - HTML 事件处理器:如
onclick、onmouseover(防止鼠标悬停时触发恶意行为)
保留的内容
- 格式化文本(加粗、斜体、列表、段落等)
- 内嵌图片(附件中已包含的图片)
- 安全的 HTML 标签(如
<a>、<p>、<div>、<span>、<b>、<i>)
重格式化后,你看到的是一份「净化过」的邮件——保留了排版,但剥离了所有恶意代码执行路径。即使某封邮件真的包含恶意脚本,在 FairEmail 中也无法执行。
防护第二层:链接确认弹窗
当你在 FairEmail 中点击邮件里的任何一个链接时,FairEmail 不会直接跳转,而是先弹出一个安全确认对话框,显示:
- 链接的实际完整 URL(不是邮件里显示的文字)
- 链接所在的域名
- 是否为 HTTPS 加密连接
- 是否为一个你之前访问过的域名(如果是)
你可以选择:
- 打开链接:在浏览器中打开
- 复制链接:复制 URL 到剪贴板,手动检查
- 取消:不做任何操作
为什么需要这一步
钓鱼邮件常用的手法是链接欺骗——邮件里显示「paypal.com/verify」,但实际 URL 是「paypal-login-verification.fake.com/scam.php」。FairEmail 的确认弹窗会把实际 URL 完整展示出来,让你有机会识破。
防护第三层:警告不可认证的消息
FairEmail 还会检查邮件的认证状态(SPF、DKIM、DMARC 三项行业标准邮件认证技术)。如果一封邮件:
- SPF 失败 → 显示「发件服务器未被授权代表此发件人域名发信」警告
- DKIM 签名无效 → 显示「邮件签名无效,可能被篡改」警告
- DMARC 策略判定为失败 → 显示更严重的警告
这些警告会显示在邮件内容的顶部区域,让你一眼就能看出这封邮件的发件身份可能不真实。Gmail 也会做类似检查,但 FairEmail 把警告放在更显眼的位置,且不会自动把可疑邮件合并进主收件箱。
防护第四层:附件打开安全确认
点击邮件中的附件时,FairEmail 同样不会直接打开,而是弹出安全提示:
- 附件文件名、大小、类型
- 文件是否为可执行格式(APK、EXE、Shell 脚本等)
- 如果是风险格式,额外警告「这是一个可执行文件,可能包含恶意代码」
即使你有文件管理器,FairEmail 也不会直接把可执行文件交给系统打开——它会提醒你文件性质,让你在系统文件管理器中手动确认。
防护第五层:安全查看原始消息
如果你想彻底检查一封邮件有没有可疑内容:
- 打开邮件详情页
- 点击右上角菜单 → 选择「显示原始消息」(Show original)
- 这会显示邮件的完整原文,包括所有头部字段、完整 HTML 源码、所有引用链接
- 原始消息以纯文本形式显示,不会渲染任何内容
这是排查钓鱼邮件的终极手段——你可以在原始消息里看到邮件的真实来源服务器、经过了哪些中继、HTML 里到底藏了什么。
已知限制
FairEmail 的钓鱼防护不是 100% 能拦截所有威胁:
- 不是内容安全软件:FairEmail 不会扫描附件中的恶意软件代码。它的职责是让你不容易被欺骗点击恶意链接或下载恶意文件,但不会主动检测文件内容
- 不替代安全习惯:安全确认弹窗只是辅助提醒,最终判断还在你自己。对于陌生发件人、催促你立即行动(比如点链接验证账户、否则停用)、措辞紧急的邮件,都应该先去该机构的官方网站而不是邮件里的链接确认
- 内部锚点链接不工作:邮件正文中的
#section-name锚点在 FairEmail 的内嵌 WebView 中无法跳转,这是 Android 平台的已知限制,无法修复