问题标签 [mbox]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
267 浏览

python - python mbox解锁不起作用

我正在使用此脚本从收件箱中删除邮件。

运行此脚本一次后,我注意到/var/spool/mail. 如果我再次尝试运行脚本,我会得到一个相当可预测的异常:mailbox.ExternalClashError: dot lock unavailable

所以看起来 all_mail.unlock() 不起作用,但我不确定还能做什么。

0 投票
1 回答
300 浏览

perl - mime 将电子邮件提取回 mbox 格式

我有一个特殊的 mbox 文件,其中 mbox 中的每条消息都有一个或多个附加消息。这些是通过作为附件转发而创建的。我有一个使用MIME::ToolsMIME::Parser来解析该 mbox 文件的 perl 脚本。它可以将这些文件通过管道传输到另一个程序(spamassassin),或者将它们保存为单独的文本文件,这就是我正在做的事情。我相信这些单独的文件是 RFC822 格式(不是肯定的)。每个文本文件都不以“From: ...”开头,所以我不能简单地将它们重新组合在一起。

我需要一种方法将这些提取的文件重新组合回 mbox (mbxcl2) 格式。是否有工具或脚本可以用来重新组装这些提取的文件?

我尝试让我的脚本在解析时将它们输出到单个文件中,并带有From me\@myserver.com Fri Sep 1 15:18:53 2017\n. 这对于在服务器上查看 mailx 来说已经足够了,但是 Dovecot 抱怨道:dovecot: imap(me): Error: Syncing INBOX failed: Mailbox isn't a valid mbox file

所以我显然需要做的不仅仅是添加“From”分隔符。

0 投票
0 回答
252 浏览

python - 为什么我从 mbox 得到一个空数据库?

所以我有这段代码,它需要 mbox 文件,然后将它们转换为 sqlite 数据库。但是,我得到一个空数据库。无论我使用哪个 mbox,生成的数据库都是 12kb。当我尝试查看数据库/分析它时,结果是什么都没有,没有任何信息或任何东西,尽管已经制作了表和键。但里面没有信息。可能是什么问题呢?是脚本没有选择mbox,还是循环内部有问题?

Mbox 示例

0 投票
1 回答
209 浏览

php - imap_fetchbody 与 Gmail api 获取方法

html imap_fetchbodyGmail api GET方法的返回格式不同。

我将电子邮件写入文件,然后重新导入 Thunderbird。将imap_fetchbody书面电子邮件加载到Thunderbird时没有填充问题,而API返回的同一电子邮件有填充问题。

我看到的最大区别是3D

这里有几行来自imap_fetchbody

以及方法中的几行GMAIL api GET

WhileGmail api GET方法返回base64 encode我通过以下方式转换的版本:

两者之间到底有什么区别,为什么真的有区别?

通过 gmail api 获取的邮件的屏幕截图

通过 imap_fetchbody 获取的邮件的屏幕截图

您的评论和答案将不胜感激。

谢谢

0 投票
1 回答
2462 浏览

python - Python 3.6 Mbox 转 CSV

我正在尝试编写一个脚本,将文件的每个电子邮件元素.mbox转换为.csv文件。我特别需要以下元素,但如果有一种方法可以“为每个元素编写”,那将是首选:

收件人、发件人、抄送、密件抄送、日期、主题、正文

我在网上找到了一个看起来是我需要的开始的脚本,以及关于电子邮件模块的文档,但我找不到任何关于如何使用的细节

  1. 识别不同的属性选项(to, from, cc'd 等)
  2. 如何将它们写为.csv.

这是我找到的示例代码:

0 投票
1 回答
19558 浏览

reactjs - 多个请求发出时如何处理刷新令牌?

我正在使用 reactjs、mbox 和 axios 并遇到了问题。我有一个提供访问令牌和刷新令牌的 api。访问令牌每 20 分钟消失一次,当这种情况发生时,服务器会发回 401,我的代码将自动发送刷新令牌以获取新的访问令牌。

一旦授予新的访问令牌,将再次发送相同的拒绝请求。现在我的代码运行良好,直到我抛出多个几乎可以同时触发的拒绝。

所以第一个请求关闭,401 被发回并获得一个新的刷新令牌,所有其他请求都将尝试做同样的事情,但其他请求现在将失败,因为将使用刷新令牌和一个新的将发出第一个请求。

这将启动我的代码以将用户重定向到登录页面。

所以基本上我一次只能有 1 个请求。

编辑

我遇到问题,当用户在直接 url 中复制时,我需要检查以重置身份验证的代码不起作用

应用程序.js

在 memberAreaComponent

当我输入http://www.mywebsite/members/home

0 投票
1 回答
287 浏览

python - 从邮箱消息中非递归遍历电子邮件消息

我正在尝试在 Python 3.7 中处理电子邮件消息,并努力解决看起来像兼容性问题的问题。文档提到email.message.Message有一种iter_parts方法可以让我对消息部分进行非递归遍历。

这在从消息返回的消息中不存在,mailbox我花了一段时间才让它正常运行。例如,我可以生成一个虚拟消息:

然后用以下方式倾倒零件:

这给了我:multipart/mixed [multipart/alternative [text/plain, text/plain], data/raw]

但如果我将其保存到 mbox 文件并重新加载它:

它告诉我AttributeError: 'mboxMessage' object has no attribute 'iter_parts'

最初我认为它可能与https://stackoverflow.com/a/45804980/1358308有关,但在 Python 3.7 中设置factory=None似乎没有多大作用。

我发布了我的解决方案,但想知道是否有更好的选择!

0 投票
1 回答
1285 浏览

sql - Mozilla Thunderbird:从 global-messages-db.sqlite 恢复电子邮件

如何从 Thunderbird 的global-messages-db.sqlite恢复丢失的电子邮件?

在将一些电子邮件从 Imap 迁移到本地存储时,我的 PC 内核出现了恐慌。结果,该迁移没有完成对磁盘的写入。

由于迁移失败,许多电子邮件存在于global-messages-db.sqlite中,但不存在于相应的 mbox 文件中(例如,不在 Mail/username@hostname.tld中)。我通过sqlitebrowser验证了电子邮件存在于global-messages-db.sqlite。事实上,我已经成功地手动提取了一些关键消息的内容。

启动时,Thunderbird 会从在 mbox 文件中找不到的global-messages-db.sqlite电子邮件中剔除。如果我用包含我丢失的电子邮件的版本替换活动的global-messages-db.sqlite,Thunderbird 会忽略并最终删除那些丢失的电子邮件。

如果我仍然可以访问 Imap 帐户,这将是一个微不足道的困境。不幸的是,我没有。

0 投票
1 回答
211 浏览

javascript - 如何在 ReactJs 中处理垃圾邮件删除

我有一个项目列表,每个项目旁边都有一个垃圾桶(即删除按钮)。由于有很多可能的结果,我显示 25 个结果,然后对其余结果进行分页(此时当用户单击下一页按钮时,我得到下一个结果)。

但是,我面临的问题是,一旦他们删除了一个项目,如果数据库中仍有项目,我想检索他们的下一个项目。

所以 30 个项目属于这个用户,他们看到 25 个,如果他们删除一个,下一个项目(项目 26)将从数据库中提取并显示。

如果他们想删除 5 个项目并一个接一个地单击,我认为这不会很难实现,我害怕会发生竞争情况,而不是拉 item26、item27、item28、item29、item30,它可能会拉出 item26 x 5。

我能想出的唯一想法是,我拉的比我展示的要多,如果我展示 25 条记录,我拉 35 条记录,然后在每条记录被删除后继续重新填充该存储桶。

但是,我不确定如果没有足够的物品来补充桶,我将如何补充额外的桶以及如何处理的场景。

我正在使用 Reactjs、Mobx 和 Mobx 状态树。

我还没有任何代码,因为我不知道该走哪条路。

0 投票
0 回答
1071 浏览

python - 在 Windows 操作系统上使用 Python 将 Outlook 数据文件 (.pst) 转换为 mbox

我无法弄清楚如何在 Windows 上使用 Python 将 Outlook 数据文件(.pst 文件扩展名)转换为 mbox 文件。

在 Mac 上,它相对简单——只需安装 libpst,然后使用以下内容。

但是,在 Windows 上,这不起作用。当我尝试在命令行中使用适当的outputfolderand运行 readpst 时pstfilename,出现以下错误。

经过多次谷歌搜索,我还没有找到在 Windows 上安装 libpst 的良好说明来源(似乎甚至不可能)。那么如何在 Windows 操作系统上使用 Python 进行转换呢?