ProtonMail加密邮件可本地保存:一、用ElectronMail客户端同步并导出为EML;二、通过protonmail-export脚本在浏览器内生成Maildir;三、借助官方Bridge搭配Thunderbird导出.mbox;四、技术用户可用curl+API手动解密单封邮件为RFC 2822格式。

如果您已使用ProtonMail多年并积累了大量加密邮件,但发现无法通过常规方式将邮件保存至本地设备进行长期归档或迁移,则问题根源在于ProtonMail的端到端加密架构——服务器仅存储密文,解密密钥永不离开用户浏览器。以下是实现邮件导出与本地保存的可行路径:
一、使用ElectronMail客户端实现本地同步与EML导出
ElectronMail是一个开源跨平台桌面客户端,它通过官方API在本地完成密钥管理与解密流程,将解密后的邮件内容安全缓存至本地SQLite数据库,并支持按需导出为标准EML格式,完全规避密钥上传风险。
1、访问 https://gitcode.com/gh_mirrors/el/ElectronMail 下载对应系统(Windows/macOS/Linux)的最新安装包。
2、安装完成后启动应用,在登录界面输入您的ProtonMail用户名与密码,启用“本地加密存储”选项。
3、等待同步完成(首次同步时间取决于邮件总量,建议保持网络稳定并允许后台运行)。
4、在邮件列表中按住Ctrl键多选目标邮件,或使用Shift键框选连续邮件。
5、右键选中邮件,从上下文菜单中选择“导出为EML”,指定本地文件夹后确认保存。
二、通过protonmail-export工具执行浏览器内IMAP式增量备份
protonmail-export是一个轻量级网页工具,无需安装客户端,直接在ProtonMail Web界面中注入脚本,利用已登录会话调用内部API获取加密邮件数据,并在浏览器内存中完成解密与格式转换,最终生成Maildir结构目录供离线使用。
1、打开ProtonMail网页版并完整登录账户,确保已加载全部邮件文件夹。
2、访问 https://github.com/ProtonMail/protonmail-export 页面,下载最新release中的protonmail-export.user.js文件。
3、安装Tampermonkey(Chrome/Firefox/Edge)或Violentmonkey(Firefox)扩展程序。
4、在扩展管理页中导入该脚本,刷新ProtonMail页面,右上角将出现“Export”按钮。
5、点击按钮,勾选需导出的文件夹(如Inbox、Sent、Drafts),设置起始日期与导出格式(Maildir或MBOX),点击“Start Export”。
三、借助ProtonMail Bridge实现全量自动同步与Thunderbird兼容备份
ProtonMail Bridge是官方推出的本地代理服务,它在系统后台运行,将ProtonMail账户虚拟为标准IMAP/SMTP服务器,使Thunderbird、Apple Mail等传统客户端可像操作普通邮箱一样收发、搜索、归档及导出邮件,所有解密均发生在Bridge进程本地内存中。
1、前往 https://protonmail.com/bridge 下载并安装Bridge客户端(支持Windows/macOS/Linux)。
2、启动Bridge,使用ProtonMail账户登录,勾选“Enable IMAP/SMTP access” 并记录显示的本地IMAP服务器地址(通常为127.0.0.1:1143)与随机生成的密码。
3、在Thunderbird中新建账户,手动配置服务器类型为IMAP,主机填写127.0.0.1,端口1143,安全连接选择SSL/TLS,密码粘贴Bridge提供的专用密码。
4、完成配置后,Thunderbird将开始同步全部邮件(含附件),右键任意文件夹选择“导出 folder to .mbox” 即可生成可长期存档的标准文件。
四、使用curl+ProtonMail API手动触发单封邮件导出(适用于技术用户)
对于需精确控制导出范围(如仅导出某封特定ID邮件)的技术用户,可通过ProtonMail官方API结合本地私钥解密逻辑,编写脚本拉取加密数据包并在本地完成AES-GCM解密与Base64还原,最终拼装为RFC 2822格式文本。
1、登录ProtonMail Web端,打开开发者工具(F12),在Application → Storage → Local Storage中查找key “pm_key”对应的加密私钥字符串。
2、使用Python或Node.js环境安装crypto-js或cryptography库,编写解密函数,输入从API获取的EncryptedSubject、Body及Address字段。
3、调用ProtonMail Messages API:向 https://api.protonmail.ch/messages/{MessageID} 发送GET请求(携带Bearer Token认证头)。
4、解析返回JSON中的EncryptedBody字段,使用本地私钥解密后,将结果写入以“.eml”为后缀的纯文本文件,头部补全From/To/Date/Subject等RFC必需字段。



















