- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我正在更换主机,我需要将旧服务器上的 maildir 帐户转换为新服务器上的 mbox。
关于执行此操作的最佳方法有什么想法吗?
我发现了这个:
for i in new/* cur/*;do formail <”$i” >> ../mbox;done
但是我不是很懂。我对 Linux 有基本的了解,并且可以通过 ssh 以根用户身份访问我的服务器。
大多数 Maildir 文件夹都有以下内容:
当前
新
临时工
dovecot.index.log
dovecot-uidlist
dovecot.index
dovecot.index.log.2
dovecot.index.cache
鸽舍关键字
订阅
我需要所有这些还是可以忽略 dovecot 文件?
如有任何建议,我们将不胜感激。
C
最佳答案
如果需要在不设置mailservers的情况下将maildir账户转换为邮箱账户,可以使用python的邮箱库。如果只有一个 maildir 文件夹要转换,可以使用找到的这个小(10 行+注释)python 脚本 here .如果有子文件夹,则需要探索子文件夹结构,这在两种格式之间是不同的。这给出了以下脚本:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
Frédéric Grosshans, 19 January 2012
Nathan R. Yergler, 6 June 2010
This file does not contain sufficient creative expression to invoke
assertion of copyright. No warranty is expressed or implied; use at
your own risk.
---
Uses Python's included mailbox library to convert mail archives from
maildir [http://en.wikipedia.org/wiki/Maildir] to
mbox [http://en.wikipedia.org/wiki/Mbox] format, icluding subfolder.
See http://docs.python.org/library/mailbox.html#mailbox.Mailbox for
full documentation on this library.
---
To run, save as md2mb.py and run:
$ python md2mb.py [maildir_path] [mbox_filename]
[maildir_path] should be the the path to the actual maildir (containing new,
cur, tmp, and the subfolders, which are hidden directories with names like
.subfolde.subsubfolder.subsubsbfolder);
[mbox_filename] will be newly created, as well as a [mbox_filename].sbd the
directory.
"""
import mailbox
import sys
import email
import os
def maildir2mailbox(maildirname, mboxfilename):
"""
slightly adapted from maildir2mbox.py,
Nathan R. Yergler, 6 June 2010
http://yergler.net/blog/2010/06/06/batteries-included-or-maildir-to-mbox-again/
"""
# open the existing maildir and the target mbox file
maildir = mailbox.Maildir(maildirname, email.message_from_file)
mbox = mailbox.mbox(mboxfilename)
# lock the mbox
mbox.lock()
# iterate over messages in the maildir and add to the mbox
for msg in maildir:
mbox.add(msg)
# close and unlock
mbox.close()
maildir.close()
#Creates the main mailbox
dirname=sys.argv[-2]
mboxname=sys.argv[-1]
print(dirname +' -> ' +mboxname)
mboxdirname=mboxname+'.sbd'
maildir2mailbox(dirname,mboxname)
if not os.path.exists(mboxdirname): os.makedirs(mboxdirname)
listofdirs=[dn for dn in os.walk(dirname).next()[1] if dn not in ['new', 'cur', 'tmp']]
for curfold in listofdirs:
curlist=[mboxname]+curfold.split('.')
curpath=os.path.join(*[dn+'.sbd' for dn in curlist if dn])
if not os.path.exists(curpath): os.makedirs(curpath)
print('| ' +curfold +' -> '+curpath[:-4])
maildir2mailbox(os.path.join(dirname,curfold),curpath[:-4])
print('Done')
关于linux - 将 Maildir 转换为 mbox,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2501182/
我想知道如何修改下面的代码来剥离=20多行末尾的字符,主要是按时间顺序将消息从第一个接收或发送到最后一个。我不确定这是否是内部 Perl 例程。 #!/usr/bin/perl use warning
根据我发现的文档 An \mbox within math mode does not use the current math font; rather it uses the typeface o
为了开发邮件客户端,我需要一个非常大的 mbox 测试文件,其中包含尽可能多的邮件。最好是 >100.000 封邮件 (>10GB)。 它应该是真实的邮件数据,因为我不仅要测试性能,还要测试邮件过滤器
我有一个通过 evolution 创建的假脱机 mbox 文件,其中包含我希望打印的一系列电子邮件。我的问题是电子邮件没有按时间顺序放入 mbox 文件中。我想知道使用 bash、perl 或 pyt
我已经使用 Gmail API 获取了邮件内容和必要的 header 。我想将它们写入 mbox 文件。我可以找到 Go 包和示例来读取和解析 mbox 文件。但是如何使用 Go 创建和写入 mbox
我有一个 mbox 邮箱,其中包含邮件的副本,它们仅在“X-Evolution:” header 中有所不同。 我想以尽可能快速和简单的方式删除重复的。这似乎已经写好了,但我还没有找到它,尽管我已经查
也许这是我的疑问,但我不这么认为。我正在尝试将从 mbox 格式解析的消息导入 MySQL,但是当我通过 PHP 或通过 phpMyAdmin 手动执行此操作时,MySQL 失败。有什么想法吗? $s
我正在尝试与 Adobe Test & Target 交互,因为我想通过 mbox 加载 JSON 而不是标记。我想将一些 mbox 内容加载到 javascript 中并手动将其添加到 DOM
我正在使用 python 包邮箱,我正在尝试提取消息并清理数据。我遇到了一个问题,对于大型数据库,我可以用我的示例文件调用构造函数,但是当我尝试打印任何消息时,我的程序挂起。我认为这是因为我要读取的文
这个有效: import mailbox x = mailbox.mbox('filename.mbox') # works 但是如果我只有文件的打开句柄而不是文件名怎么办? fp = open('
我正在更换主机,我需要将旧服务器上的 maildir 帐户转换为新服务器上的 mbox。 关于执行此操作的最佳方法有什么想法吗? 我发现了这个: for i in new/* cur/*;do for
我想读取来自 Gmail 备份的 3GB 大 .mbox 文件。这有效: import mailbox mbox = mailbox.mbox(r"D:\All mail Including Spam
我正在尝试使用 Python 3 从雷鸟 mbox 文件中提取电子邮件正文。它是一个 IMAP 帐户。 我希望将电子邮件正文的文本部分作为 unicode 字符串进行处理。它应该“看起来像”电子邮件在
谁能告诉我如何使用 mstor 在 Windows 上阅读 mbox 邮件消息 提前致谢... 最佳答案 访问 mstor 邮箱的示例 URL 可能是: Microsoft Windows 计算机上的
这个问题已经有答案了: How to parse mailbox file in Ruby? (3 个回答) 已关闭 9 年前。 我有一个 mbox 文件,其中包含我的 Gmail 邮件。我想解析该文
我正在使用 mstor 阅读 mbox 电子邮件,但我无法使用我传递的 urlName 名称连接到商店,默认情况下它连接到其他我的 macbine 上的位置。在继续连接到商店之前,我是否需要使用 ms
如何使用IMAP协议(protocol)和JavaMail读取邮件收件箱,然后使用本地磁盘存储邮件。没有 mstor 的文档。我尝试这种方式,但似乎 MStorStore 只是读取本地 mbox,而不
我正在尝试编写一个脚本,将 .mbox 文件的每个电子邮件元素转换为 .csv 文件。我特别需要以下元素,但如果有一种方法可以“为每个元素编写”,那将是首选: 收件人、发件人、抄送、密件抄送、日期、主
我刚刚使用 Google 的新下载功能下载了我所有的 Gmail,它给了我一个很大的 .mbox 文件。开始从文件中提取和处理单个电子邮件的脚本的基本外壳是什么? 最佳答案 Matthew Russe
我想从 mbox 文件中读取邮件并根据该文件执行一些操作。我不想编写/修改 mbox 文件,但它会被另一个进程修改(主要是添加新邮件)。 我正在阅读这份文档。 http://docs.python.o
我是一名优秀的程序员,十分优秀!