AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / computer / 问题 / 1553893
Accepted
AnnoyinC
AnnoyinC
Asked: 2020-05-22 09:06:25 +0800 CST2020-05-22 09:06:25 +0800 CST 2020-05-22 09:06:25 +0800 CST

通过 IMAP 或 POP3 从自定义域下载并存档所有邮箱 + 附件

  • 772

我有一个我打算放弃的网站,目前由某家公司托管。我想保留我所有的电子邮件,但他们没有导出电子邮件的选项。

如何从所有邮箱下载所有电子邮件及其附件?

我不想被一个邮件客户端束缚。如果每封邮件+附件都保存为单独的文件夹/存档中的文本文件+附件文件,则超级奖励积分,这样我就不受特定邮件客户端的约束来阅读它们。

我真的更喜欢使用 IMAP,因为如果出现问题,电子邮件仍然会在那里,我可以再试一次。

email imap
  • 1 1 个回答
  • 1492 Views

1 个回答

  • Voted
  1. Best Answer
    Binarus
    2020-06-05T02:55:02+08:002020-06-05T02:55:02+08:00

    有几种方法可以实现您想要的,我将尝试展示其中的一些。

    请注意,某些方法(如果不是全部)涉及使用电子邮件客户端软件,但使用哪一种方法是暂时的,因为您以后可以重新导入数据或使用我知道的任何其他电子邮件软件处理数据关于,甚至根本没有电子邮件客户端。

    在以下示例中,我使用 Thunderbird 作为 IMAP 和 POP3 客户端,因为我比 Outlook 及其同事更了解它。

    说了这么多:

    1) 转移到自己的 IMAP 服务器

    对于这种情况,这是我最喜欢的。无论如何,我不希望我的提供商保留消息...

    因此,您可以设置自己的 IMAP 服务器。根据您的需要,这可能需要知识(例如,在 Linux 下设置我最喜欢的 Cyrus Imapd)或者可能非常简单(例如,在 Windows 下设置 hMailServer,我也可以在我的一个客户端上非常可靠地运行它100 GB 的消息、数百个嵌套文件夹和超过 100.000 条消息)。

    然后将 Thunderbird 连接到您当前的服务器和刚刚设置的新服务器,然后将所有文件夹和消息从旧服务器复制到新服务器。这可能有点乏味,因为 Thunderbird 有时会拒绝在不同的名称空间/服务器之间复制文件夹结构,但如果您没有很多嵌套文件夹,这是最简单的方法。

    如果您有很多嵌套文件夹,您可能希望使用 Outlook 来完成这部分工作。我以前使用过它,据我所知,递归复制大型文件夹结构没有问题。[题外话:这是 Outlook 远远优于 Thunderbird 的一个关键点,但我会坚持使用 Thunderbird,因为它还有其他优势]。

    如果您不想使用电子邮件客户端,可以使用专门的脚本或命令行工具;看看imapsync,例如。但请注意:它们比普通的电子邮件客户端更难使用。

    完成此操作后,您已将所有 IMAP 消息复制到您自己的 IMAP 服务器上,该服务器完全由您自己控制,并且您可以将每个能够 IMAP 的电子邮件客户端软件连接到该服务器并处理您的旧消息。

    2) 转移到 Thunderbird 的“本地文件夹”

    如果您曾经使用过 Thunderbird,您可能已经注意到帐户列表中有一个名为“本地文件夹”的部分。文件夹结构和其中包含的消息通常由所谓mbox格式的文件支持。这些文件通常位于 Thunderbird 配置文件中,而 Thunderbird 配置文件通常位于您的 Windows 用户配置文件目录中。

    因此,您可以将 Thunderbird 连接到您当前的 IMAP 服务器并将所有文件夹和消息复制到“本地文件夹”中。然后,您将mbox在本地磁盘上拥有包含所有文件夹和消息的文件。

    我知道的mbox大多数其他电子邮件客户端都可以理解文件格式,因此您可以将这些文件导入此类客户端。

    此外,mbox它是面向文本的,因此理论上您可以通过在文本编辑器中打开这些文件来直接使用它们。这很好,但实际上并没有任何意义,因为您可能不喜欢在 HTML 标记之间查找实际的消息文本,或者将附件从 base64 解码为图片以查看它们,等等。另外,在 中mbox,一个文件夹的所有消息,包括附件,都被塞进一个大文件中。

    但是,如果您希望所有消息都保存在一个或多个大mbox文件中,您可以轻松地与您的用户配置文件一起备份,并且如果您准备好使用支持的众多软件客户端之一来处理它们,这很方便它。

    3)同步和离线工作

    我知道的每个 IMAP 客户端(包括 Thunderbird)都提供将 IMAP 消息同步到本地磁盘,这样搜索变得更快,即使您与 IMAP 服务器断开连接也可以处理您的消息。

    在同步过程中,所有文件夹和邮件都将下载到您的本地磁盘,您可以正常使用它们,即使在您关闭当前 IMAP 服务器很久之后也是如此。不过也有陷阱:

    首先,根据您的软件,您可能必须告诉软件您要离线使用哪些文件夹。您必须注意这一点,因为如果您忘记在其中包含一个文件夹,则在您关闭当前 IMAP 服务器后,相应的消息将会丢失。

    其次,我从未尝试过,也不知道当您首先让消息与当前 IMAP 服务器同步,然后脱机工作并关闭该服务器,然后将相应的帐户重新连接到另一个 IMAP 服务器时会发生什么。

    因此,如果您决定这样做,您最终应该确保包含同步邮件存档的帐户永远不会连接到另一个 IMAP 服务器。

    该方法的另一个缺点是同步消息不一定以其他电子邮件客户端可以理解的格式存储。我真的不确定,但我假设您需要与消息同步的同一个客户端才能使用它们。

    我总结一下,我不鼓励这种方法。

    4)将每条消息单独存储在普通文件系统中

    有一种文件格式用于存储单个电子邮件消息;令人惊讶的是,文件扩展名为.eml. 您可以轻松地从 Thunderbird 中“导出”所有消息,只需将它们从程序窗口拖到 Windows 文件资源管理器中的任意文件夹中即可。使用 Thunderbird,一次选择多条消息并将它们拖到一个文件夹中可以正常工作 - 每条消息都变成一个单独的.eml文件。

    为了澄清,这些.eml文件也是文本文件(如mbox文件),因此您可以使用任何文本编辑器打开它们。与.mbox文件一样,这是一个坏主意(特殊用途除外),因为您最终必须从 HTML 文档中选择实际的消息文本,如果标题行包含特殊字符(如德语变音符号),则解码标题行,解码附件等.

    但是,.eml文件始终包含完整的消息,包括附件和元数据。

    另一个好处是您可以非常轻松地将它们重新导入其他电子邮件客户端,至少在大多数客户端中:对于 Thunderbird,只需将它们从 Windows 文件资源管理器拖到程序窗口中,它们就会变成正常的消息再次,包括附件,并保留所有元数据信息/标题(接收时间等)。

    并非每个邮件客户端都支持直接拖放.eml消息,但有大量的插件、脚本和帮助程序,例如 Outlook。

    因此,如果您真的坚持将电子邮件和附件分别保存在文件系统中(我个人不会这样做),那将是一种可能的方式:

    • 将 Thunderbird 连接到您当前的 IMAP 服务器
    • 在 Windows 文件系统中重新创建 IMAP 文件夹结构
    • 从每条消息中提取每个附件,并将其保存在文件系统的适当位置;请注意,您可以将附件留在邮件中,也可以在执行此操作时从邮件中删除附件
    • 从 Thunderbird 的程序窗口中选择消息并将其拖到 Windows 文件资源管理器中的适当位置;取决于您如何执行上一步,该邮件将仍然包含附件(然后您将拥有它们两次,因为您已经单独保存了它们)或不包含

    旁注:在 Thunderbird 中,您甚至可以打开将每个帐户(同步的 IMAP、POP3、本地文件夹)中的每条消息直接保存为.eml,但我强烈建议您不要这样做,因为这在某种程度上仍然是实验性的。

    有关更多信息,请考虑以下内容:https: //support.mozilla.org/en-US/kb/maildir-thunderbird

    5) 通过 POP3 下载

    我理解您对这种方法的担忧,但它也有优势。就个人而言,我更喜欢移动文件夹和消息而不是复制它们,因为当您复制嵌套在数千个文件夹中的数十万条消息时,很难验证您是否确实复制了所有文件夹中的所有消息.

    相反,当我移动文件夹和消息时,即使进程停止,我也可以很容易地看到我是否丢失了一些东西(在这种情况下,它仍然会在旧服务器上)或没有(在这种情况下,不会有任何消息留在旧服务器上)。

    请注意,大多数电子邮件客户端显示的“消息数量”并不可靠,因为您永远无法知道客户端下载了多少消息(标头),尤其是当各个文件夹最近以高速率填充消息时,正如复制/移动时发生的那样。所以你真的不应该使用那个“消息数量”来检查你的旧服务器副本是否完整。

    话虽如此,如果您使用 Thunderbird 通过 POP3 从旧服务器获取消息,这些消息也将由位于 Windows 用户配置文件中的 Thunderbird 配置文件中的文件支持,因此您可以很好地将其称为完整下载。

    我不确定 Thunderbird 存储这些消息的格式(可能是mbox,但这只是一个未经证实的猜测),因此很可能您无法将该存档直接导入其他电子邮件客户端。

    另一方面,我绝对肯定有很多实用程序和转换器可以将 POP3 存档导入您想要使用的任何其他电子邮件软件,Thunderbird 本身就是其中的主要选择:没有什么可以阻止您复制或移动POP3 帐户中的所有邮件到另一个 IMAP 帐户,然后您可以从任何其他支持 IMAP 的电子邮件客户端连接。同样,您可以轻松地将所有邮件从您的 POP3 帐户复制/移动到如上所述的“本地文件夹”部分,并以mbox格式存储它们。

    最后,Thunderbird 有几个扩展处理数据导出和导入(包括帐户信息、消息等)。但是,我不认识他们,所以我不知道他们有多可靠。我从未使用过它们,因为有很多更好的方法可以复制或移动邮件存档。

    我希望上面显示的方法之一适合您...

    • 3

相关问题

  • 这封电子邮件是如何编码的?

  • 将电子邮件发送到 gmail,以便将其添加到日历中

  • SPF 类型 ptr 不鼓励?那我应该用什么?

  • 为什么 Thunderbird 不会完全删除电子邮件?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何减少“vmmem”进程的消耗?

    • 11 个回答
  • Marko Smith

    从 Microsoft Stream 下载视频

    • 4 个回答
  • Marko Smith

    Google Chrome DevTools 无法解析 SourceMap:chrome-extension

    • 6 个回答
  • Marko Smith

    Windows 照片查看器因为内存不足而无法运行?

    • 5 个回答
  • Marko Smith

    支持结束后如何激活 WindowsXP?

    • 6 个回答
  • Marko Smith

    远程桌面间歇性冻结

    • 7 个回答
  • Marko Smith

    子网掩码 /32 是什么意思?

    • 6 个回答
  • Marko Smith

    鼠标指针在 Windows 中按下的箭头键上移动?

    • 1 个回答
  • Marko Smith

    VirtualBox 无法以 VERR_NEM_VM_CREATE_FAILED 启动

    • 8 个回答
  • Marko Smith

    应用程序不会出现在 MacBook 的摄像头和麦克风隐私设置中

    • 5 个回答
  • Martin Hope
    CiaranWelsh 如何减少“vmmem”进程的消耗? 2020-06-10 02:06:58 +0800 CST
  • Martin Hope
    Jim Windows 10 搜索未加载,显示空白窗口 2020-02-06 03:28:26 +0800 CST
  • Martin Hope
    v15 为什么通过电缆(同轴电缆)的千兆位/秒 Internet 连接不能像光纤一样提供对称速度? 2020-01-25 08:53:31 +0800 CST
  • Martin Hope
    fixer1234 “HTTPS Everywhere”仍然相关吗? 2019-10-27 18:06:25 +0800 CST
  • Martin Hope
    andre_ss6 远程桌面间歇性冻结 2019-09-11 12:56:40 +0800 CST
  • Martin Hope
    Riley Carney 为什么在 URL 后面加一个点会删除登录信息? 2019-08-06 10:59:24 +0800 CST
  • Martin Hope
    zdimension 鼠标指针在 Windows 中按下的箭头键上移动? 2019-08-04 06:39:57 +0800 CST
  • Martin Hope
    jonsca 我所有的 Firefox 附加组件突然被禁用了,我该如何重新启用它们? 2019-05-04 17:58:52 +0800 CST
  • Martin Hope
    MCK 是否可以使用文本创建二维码? 2019-04-02 06:32:14 +0800 CST
  • Martin Hope
    SoniEx2 更改 git init 默认分支名称 2019-04-01 06:16:56 +0800 CST

热门标签

windows-10 linux windows microsoft-excel networking ubuntu worksheet-function bash command-line hard-drive

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve