How Email Forwarding Works: The Complete Guide to Forward Email's Service

Explore the technical implementations that make our service one of the most privacy-focused email forwarding solutions available.

前言

在当今的数字环境中,电子邮件隐私变得比以往任何时候都更加重要。由于数据泄露、监视问题以及基于电子邮件内容的定向广告,用户越来越多地寻求优先考虑隐私的解决方案。在 Forward Email,我们从头开始构建我们的服务,以隐私作为我们架构的基石。这篇博文探讨了使我们的服务成为最注重隐私的电子邮件转发解决方案之一的技术实现。

Forward 电子邮件隐私理念

在深入了解技术细节之前,了解我们的基本隐私理念非常重要: 您的电子邮件仅属于您自己。这一原则指导着我们做出的每一项技术决策,从如何处理电子邮件转发到如何实施加密。

与许多出于广告目的扫描您的邮件或将其无限期存储在其服务器上的电子邮件提供商不同,转发电子邮件采用了截然不同的运作方式:

  1. 仅在内存中处理 - 我们不会将您转发的电子邮件存储到磁盘
  2. 无元数据存储 - 我们不保留谁给谁发电子邮件的记录
  3. 100% 开源 - 我们的整个代码库都是透明且可审计的
  4. 端到端加密 - 我们支持 OpenPGP,实现真正的私密通信

SQLite 实现:数据的持久性和可移植性

Forward Email 最显著的隐私优势之一是我们精心设计的 SQLite 实施。我们通过特定的 PRAGMA 设置对 SQLite 进行了微调,并且 预写日志(WAL) 确保数据的持久性和可移植性,同时保持最高标准的隐私和安全。

以下是我们如何使用 SQLite 实现的 ChaCha20-Poly1305 作为量子安全加密的密码:

// Initialize the database with better-sqlite3-multiple-ciphers
const Database = require('better-sqlite3-multiple-ciphers');

// Set up encryption with ChaCha20-Poly1305 cipher db.pragma(key="${decrypt(session.user.password)}");

// Enable Write-Ahead Logging for durability and performance db.pragma('journal_mode=WAL');

// Overwrite deleted content with zeros for privacy db.pragma('secure_delete=ON');

// Enable auto vacuum for efficient storage management db.pragma('auto_vacuum=FULL');

// Set busy timeout for handling concurrent access db.pragma(busy_timeout=${config.busyTimeout});

// Optimize synchronization for reliability db.pragma('synchronous=NORMAL');

// Enable foreign key constraints for data integrity db.pragma('foreign_keys=ON');

// Set UTF-8 encoding for international character support db.pragma(encoding='UTF-8');

// Optimize database performance db.pragma('optimize=0x10002;');

// Use disk for temporary storage instead of memory db.pragma('temp_store=1;');

此实现可确保您的数据不仅安全,而且可移植。您可以随时通过导出电子邮件来携带 MBOX, EML或 SQLite 格式。当您想要删除数据时,数据就真的消失了——我们只需从磁盘存储中删除文件,而不是运行 SQL DELETE ROW 命令,因为这可能会在数据库中留下痕迹。

我们实施的量子加密方面在初始化数据库时使用 ChaCha20-Poly1305 作为密码,为您的数据隐私提供强有力的保护,以防止当前和未来的威胁。

智能队列和重试机制:确保电子邮件送达

我们不再仅仅关注报头处理,而是通过我们的 getBounceInfo 方法。该系统可确保您的电子邮件有最大的机会被送达,即使出现临时问题也是如此。

function getBounceInfo(err) {
  // Initialize bounce info with default values
  const bounceInfo = {
    action: err.responseCode >= 500 ? 'reject' : 'defer',
    category: err.category || 'other',
    message: err.message,
    code: err.responseCode || err.code
  };

// Analyze error response to determine appropriate action const response = err.response || err.message || '';

// Determine if the issue is temporary or permanent if (response.includes('temporarily deferred') || response.includes('try again later')) { bounceInfo.action = 'defer'; }

// Categorize the bounce reason for appropriate handling if (response.includes('mailbox full')) { bounceInfo.category = 'full'; bounceInfo.action = 'defer'; } else if (response.includes('user unknown')) { bounceInfo.category = 'unknown'; }

return bounceInfo; }

[!NOTE] 这是 getBounceInfo 方法,而不是实际的广泛实现。有关完整代码,您可以查看 GitHub.

我们会重试邮件投递 5 天,类似于行业标准 后缀,让临时问题有时间自行解决。这种方法在保护隐私的同时,显著提高了交付率。

同样,在成功发送后,我们还会删除外发 SMTP 电子邮件的消息内容。这在我们的存储系统中配置,默认保留期为 30 天,您可以在域的“高级设置”中调整。在此期限之后,电子邮件内容将自动删除并清除,只剩下占位符消息:

This message was successfully sent. It has been redacted and purged for your security and privacy. If you would like to increase your message retention time, please go to the Advanced Settings page for your domain.

这种方法可确保您发送的电子邮件不会无限期地存储,从而降低数据泄露或未经授权访问您的通信的风险。

具有智能速率限制的无限资源

虽然 Forward Email 提供无限的域名和别名,但我们实施了智能速率限制,以保护我们的系统免受滥用并确保所有用户的公平使用。例如,非企业客户每天最多可以创建 50 个以上的别名,这可以防止我们的数据库受到垃圾邮件和洪水攻击,并使我们的实时滥用和保护功能有效发挥作用。

// Rate limiter implementation
const rateLimiter = new RateLimiter({
  // Configuration settings
});

// Check rate limits before processing const limit = await rateLimiter.get({ key: domain:${domain.id}, duration: ms('1d') });

// Apply appropriate action based on limit status if (limit.remaining <= 0) { // Handle rate limit exceeded }

这种平衡的方法为您提供了灵活性,您可以根据需要创建任意数量的电子邮件地址以进行全面的隐私管理,同时仍能为所有用户保持我们服务的完整性和性能。

沙盒加密增强安全性

我们独特的沙盒加密方法提供了一项关键的安全优势,而许多用户在选择电子邮件服务时却忽视了这一点。让我们来探讨一下为什么沙盒数据(尤其是电子邮件)如此重要。

Gmail 和 Proton 等服务很可能使用共享 关系数据库,这会产生根本的安全漏洞。在共享数据库环境中,如果有人获得了一个用户数据的访问权限,他们就有可能获得其他用户数据的访问权限。这是因为所有用户数据都驻留在同一个数据库表中,仅由用户 ID 或类似标识符分隔。

通过沙盒加密,转发电子邮件采用了完全不同的方法:

  1. 完全隔离:每个用户的数据都存储在自己的加密 SQLite 数据库文件中,与其他用户完全隔离
  2. 独立加密密钥:每个数据库都使用从用户密码派生的唯一密钥进行加密
  3. 没有共享存储:与关系数据库中所有用户的电子邮件可能都位于单个“电子邮件”表中不同,我们的方法可确保数据不会混合
  4. 纵深防御:即使一个用户的数据库以某种方式受到损害,它也不会提供对任何其他用户数据的访问权限

这种沙盒方法类似于将您的电子邮件放在单独的物理保管库中,而不是放在带有内部分隔器的共享存储设施中。这是一个根本的架构差异,可显著增强您的隐私和安全性。

内存电子邮件处理:无需磁盘存储,最大程度保护隐私

对于我们的电子邮件转发服务,我们完全在 RAM 中处理电子邮件,而不会将其写入磁盘存储或数据库。这种方法提供了无与伦比的保护,可防止电子邮件被监视和元数据收集。

以下是我们电子邮件处理流程的简化视图:

async function onData(stream, _session, fn) {
  // Store clone of session since it gets modified/destroyed
  const session = JSON.parse(safeStringify(_session));

try { // Process the email stream in memory const messageSplitter = new MessageSplitter({ maxBytes: MAX_BYTES }); stream.pipe(messageSplitter); const body = await getStream.buffer(messageSplitter);

const { headers } = messageSplitter;

// Update session object with useful debug info for error logs
await updateSession.call(this, body, headers, session);

// Process the email without storing to disk
// [Processing code omitted for brevity]

// Return success without persisting email data
fn();

} catch (err) { // Handle errors without storing sensitive information fn(err); } }

这种方法意味着,即使我们的服务器被入侵,攻击者也无法访问历史电子邮件数据。您的电子邮件只需通过我们的系统,即可立即转发到目的地,不会留下任何痕迹。这种无日志电子邮件转发方法对于保护您的通信免受监视至关重要。

使用 OpenPGP 进行端到端加密,实现完全隐私

对于需要最高级别隐私保护以免受电子邮件监控的用户,我们支持 开放PGP 实现端到端加密。与许多需要专有桥接器或应用程序的电子邮件提供商不同,我们的实现适用于标准电子邮件客户端,使每个人都能进行安全通信。

以下是我们实现 OpenPGP 加密的方法:

async function encryptMessage(pubKeyArmored, raw, isArmored = true) {
  // [Initial validation code omitted for brevity]

// Read the public key const pubKey = isArmored ? await openpgp.readKey({ armoredKey: tools.prepareArmoredPubKey(pubKeyArmored), config: { tolerant: true } }) : pubKeyArmored;

if (!pubKey) throw new TypeError('Public key does not exist');

// Perform the actual encryption using OpenPGP const ciphertext = await openpgp.encrypt({ message: await openpgp.createMessage({ binary: Buffer.concat([Buffer.from(bodyHeaders + '\r\n\r\n'), body]) }), encryptionKeys: pubKey, format: 'armored', config: { minRSABits: 1024 } });

// Format the encrypted message as a proper MIME message // [MIME formatting code omitted for brevity]

return Buffer.concat([headers, breaker, Buffer.from(text)]); }

此实施可确保您的电子邮件在离开您的设备之前已加密,并且只有预期的收件人才能解密,从而使您的通信保持私密,甚至对我们而言也是如此。这对于保护敏感通信免遭未经授权的访问和监视至关重要。

多层内容保护,全面保障安全

Forward Email 提供默认启用的多层内容保护,以提供针对各种威胁的全面安全保护:

  1. 成人内容保护 - 过滤不适当的内容而不损害隐私
  2. 网络钓鱼 保护 - 阻止窃取您的信息的行为,同时保持匿名
  3. 可执行保护 - 无需扫描内容即可阻止潜在的有害附件
  4. 病毒 保护 - 使用隐私保护技术扫描恶意软件

与许多提供这些功能的提供商不同,我们让这些功能成为可选功能,从而确保所有用户默认享受这些保护。这种方法反映了我们对隐私和安全的承诺,提供了许多电子邮件服务无法实现的平衡。

我们与其他电子邮件服务的区别:技术隐私优势

将 Forward Email 与其他电子邮件服务进行比较时,几个关键的技术差异凸显了我们的隐私优先方法:

开源透明度,实现可验证的隐私

虽然许多电子邮件提供商声称自己是开源的,但他们通常将后端代码保持封闭状态。Forward Email 是 100% 开源,包括前端和后端代码。这种透明度允许对所有组件进行独立的安全审计,确保任何人都可以验证我们的隐私声明。

无需供应商锁定,隐私无忧

许多注重隐私的电子邮件提供商要求您使用其专有应用程序或桥接器。Forward Email 可与任何标准电子邮件客户端配合使用,通过 IMAP, POP3, 和 SMTP 协议,让您可以自由选择您喜欢的电子邮件软件,而不会影响隐私。

沙盒数据实现真正隔离

与使用共享数据库的服务(所有用户的数据都混杂在一起)不同,我们的沙盒方法可确保每个用户的数据完全隔离。这种根本的架构差异提供了比大多数电子邮件服务提供的更强的隐私保障。

数据可移植性和控制

我们相信您的数据属于您,这就是为什么我们让您能够轻松地以标准格式(MBOX、EML、SQLite)导出您的电子邮件,并在您需要时真正删除您的数据。这种级别的控制在电子邮件提供商中很少见,但对于真正的隐私来说却是必不可少的。

隐私优先电子邮件转发的技术挑战

构建隐私优先的电子邮件服务面临着重大的技术挑战。以下是我们克服的一些障碍:

无日志电子邮件处理的内存管理

在没有磁盘存储的情况下在内存中处理电子邮件需要谨慎的内存管理,才能高效处理大量电子邮件流量。我们实施了先进的内存优化技术,以确保可靠的性能,同时又不损害我们的无存储政策,这是我们隐私保护策略的关键组成部分。

无需内容分析的垃圾邮件检测,实现隐私保护过滤

最多 垃圾邮件 检测系统依赖于分析电子邮件内容,这与我们的隐私原则相冲突。我们开发了无需阅读电子邮件内容即可识别垃圾邮件模式的技术,在隐私和可用性之间取得平衡,从而保护您的通信机密性。

保持与隐私优先设计的兼容性

确保与所有电子邮件客户端兼容,同时实现高级隐私功能,需要创造性的工程解决方案。我们的团队不懈努力,让隐私变得天衣无缝,因此您在保护电子邮件通信时不必在便利性和安全性之间做出选择。

转发电子邮件用户的隐私最佳实践

为了最大限度地防止电子邮件监视并在使用“转发电子邮件”时最大限度地保护您的隐私,我们建议您遵循以下最佳做法:

  1. 对不同的服务使用唯一的别名 - 为您注册的每项服务创建不同的电子邮件别名,以防止跨服务跟踪
  2. 启用 OpenPGP 加密 - 对于敏感通信,使用端到端加密以确保完全的隐私
  3. 定期轮换您的电子邮件别名 - 定期更新重要服务的别名,以尽量减少长期数据收集
  4. 使用强大且独特的密码 - 使用强密码保护您的转发电子邮件帐户,以防止未经授权的访问
  5. 实施 IP 地址 匿名化 - 考虑使用 VPN 与转发电子邮件结合使用,实现完全匿名

结论:私人电子邮件转发的未来

在 Forward Email,我们认为隐私不仅仅是一项功能,更是基本权利。我们的技术实施体现了这一信念,为您提供在各个层面尊重您隐私的电子邮件转发服务,并保护您免受电子邮件监控和元数据收集。

随着我们不断开发和改进我们的服务,我们对隐私的承诺始终坚定不移。我们不断研究新的加密方法,探索额外的隐私保护措施,并完善我们的代码库,以提供最安全的电子邮件体验。

选择“转发电子邮件”,您不只是选择了一项电子邮件服务,而是支持互联网的愿景,即隐私是默认的,而不是例外的。加入我们,通过一封电子邮件构建更加私密的数字未来。