问题标签 [email-parsing]

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 投票
2 回答
903 浏览

php - PHP 脚本插入已解析的电子邮件数据,同时保持关键关系

我目前正在完成一个 PHP 脚本,该脚本解析电子邮件并将它们插入到结构如下的数据库表中 -

用户表

  • userId - int - auto_increment - PK
  • 电子邮件 - varchar

电子邮件表

  • emailId - int - auto_increment - PK
  • userId - int - FK
  • attachmentId - int - FK
  • 正文 - varchar
  • 主题 - varchar

附件表

  • attachmentId - int - auto_increment - PK
  • 附件名称 - varchar
  • 文件类型 - varchar
  • 内容 - mediumblob
  • 代码 - varchar

我的问题是,一旦我解析了电子邮件,如何确保我的外键关系是正确的?我最初的方法只是执行:

但后来我意识到这不会处理我在电子邮件表中的 FK 关系。单独执行每个查询的最佳方法是重新查询生成的 Id 然后将新 Id 放在相关的 FK 行中吗?对不起,如果我不清楚。

把它做成一张桌子并避免这个问题会有什么缺点吗?

0 投票
1 回答
1927 浏览

php - 使用 PHP 从 MIME 编码的电子邮件中删除签名

我正在使用imap从 pop3 服务器读取邮件,并使用使用 PEAR Mimedecode的 mailparse 类对它们进行解码。

我想知道是否有任何方法可以获得签名或只是将其从邮件正文中删除。

谢谢。

0 投票
2 回答
570 浏览

python - 在 Python 中解析“返回路径:”

使用 Python 解析邮件标头并在“返回路径”字段中获取电子邮件地址的最佳方法是什么?

PS 我有点像 Python n00b,这段代码需要在 AppEngine 上运行。

0 投票
2 回答
3761 浏览

python - 在 python 中使用正则表达式解析电子邮件标头

我是一个尝试从电子邮件标题中提取数据的 python 初学者。我在一个文本文件中有数千封电子邮件,我想从每封邮件中提取发件人的地址、收件人地址和日期,并将其写入新文件中以分号分隔的单个行。

这很丑陋,但这是我想出的:

这是我的“demo_text.txt”:

输出是:

除了在我的 demo_text.txt(第 24 行)的“发件人:”字段中有换行符之外,这个输出会很好,所以我错过了“nobody@hotmail.com”。

我不确定如何告诉我的代码跳过换行符并仍然在 From: 标记中找到电子邮件地址。

更一般地说,我确信有许多更明智的方法来完成这项任务。如果有人能指出我正确的方向,我肯定会很感激。

0 投票
0 回答
264 浏览

php - 用于解析和发送电子邮件的 PHP 类

我有 Exim4 将传入的电子邮件传送到我的 PHP 脚本。

这个 PHP 脚本应该解析它,修改一些标题并可能添加一些信息,例如:

此电子邮件由 example.com 服务发送。

(纯文本和 html 版本)。

我正在寻找的是一个 PHP 类,它可以从原始电子邮件(标题+内容+附件)创建要使用的对象。电子邮件可以是普通的 || html,单部分 || 多部分,类似gmail的等。

完成操作后,我应该能够发送修改后的电子邮件。

你能给我一些建议吗?谢谢!

我已经尝试过 Zend_Mail,但它不适用于此类任务。

我不想自己写解析器,我很确定它会是另一辆自行车。

我宁愿不使用任何扩展,并避免在服务器上进行任何不必要的配置更改。

0 投票
1 回答
1510 浏览

php - 实现电子邮件解析器以从附件中抓取信息的最简单方法

我从附加 xml 文档的特定电子邮件地址收到电子邮件到我的网站地址。访问附件的最简单方法是什么,以便每当我收到来自该特定来源的电子邮件时,我就可以从 xml 文件中抓取数据?

一旦我打开附件,我就可以抓取我需要的任何信息并更新我的数据库,我只是不确定如何访问电子邮件和打开附件。

0 投票
1 回答
816 浏览

c# - 使用正则表达式解析电子邮件回复

我试图使用以下链接中提供的解决方案以编程方式解析电子邮件回复: Parse email content from quoted reply

它在大多数情况下都可以正常工作,除了 gmail 和 Outlook。它还选择发件人行:
2013 年 3 月 31 日星期日上午 10:57,<abc@domain.com> 写道:

我不太了解正则表达式,但以下应该正确解析它:

示例数据:
请阅读。\r\n\r\n\r\n2013 年 3 月 31 日星期日上午 10:57,<\r\n abc@domain.com > 写道:\r\n\r \n>

预期结果:
请阅读。

当前结果:
请阅读。在 2013 年 3 月 31 日星期日上午 10:57,写道:

0 投票
0 回答
38 浏览

email-parsing - 如何在多语言环境下匹配邮件中的转发头和回复头

在电子邮件内容处理中,不同的邮件客户端发送不同的 re 和 fw 头,见下文。

为了保存和显示,我需要识别这个头以便分隔邮件内容。除了对所有这些头进行硬编码之外,还有其他出路吗?

在此处输入图像描述

在此处输入图像描述

0 投票
1 回答
7963 浏览

python - 如何从电子邮件正文中解析 HTML - Python

我正在尝试在 python 中解析传入的电子邮件。我收到的电子邮件是部分文本部分 HTML。我想获取 HTML 部分并在 HTML 中找到一个表格。

我尝试使用 beatifulsoup。但是在尝试下一个代码时,bs 只得到第一个 "" 部分而不是所有 HTML 部分:

如何在整个 HTML 部分使用“bs”?或者,有没有其他方法可以从电子邮件正文中解析出一个 html 表?

'bs' 似乎对我来说是最好的,因为我想找到一个包含特定关键字的特定 HTML 正文,而 'bs' 搜索可以检索整个表格并让我在其中进行迭代。

0 投票
0 回答
458 浏览

c# - 在 C# 中解析 TIFF 附件的电子邮件

我构建了一个电子邮件解析器,它从两个不同的传真提供商 RingCentral 和 eFax 发送的电子邮件中提取 TIFF 附件。

应用程序使用 Pop3 将电子邮件作为文本流检索,然后解析文本以识别表示 Tiff 图像的部分。

通过将该文本部分转换为字节数组并使用BinaryWriter,我可以在本地硬盘驱动器上创建 TIFF 文件。

问题是 eFax 电子邮件附件在将文本转换为字节数组时会导致运行时错误。

我收到以下错误:

输入不是有效的 Base-64 字符串,因为它包含非 base 64 字符、两个以上的填充字符或填充字符中的非空白字符。

我认为它与字符串的编码/解码有关,但我尝试了各种编码类型,但仍然出现错误。

一些附加信息:

  • 编程语言:C#
  • 电子邮件主机:GMail
  • 如果我手动将电子邮件转发回给自己,解析器可以工作,但不会对原始邮件起作用。
  • 我什至尝试在 GMail 中自动转发,但这不起作用。

我在这里回复下面的第一条评论,感谢您的回复。

TIFF 文件是通过从电子邮件中获取与 TIFF 文件附件关联的文本部分、将其转换为字节数组并使用.tiff文件扩展名保存文件来创建的。这适用于所有 RingCentral 电子邮件。例如,RingCentral 电子邮件部分标题如下所示:

请注意 base64 的 Content-Transfer-Encoding 值。这解释了为什么我使用以下 C# 转换代码:

_data是私有变量,在上面的SaveToFile方法中用作返回值(即_data使用this.Data属性值时返回)。

现在对于 eFax(失败的电子邮件)部分标题:

它也显示base64。那么Convert.FromBase64String()方法调用不应该起作用吗?

我还将检查我的解析器是否正在获取其他文本。但如果我遗漏了什么,请指出。谢谢。

最近更新:

事实证明,问题不在于编码,而在于我的解析器!我无意中在附件文本中包含了一个额外的标题值。它现在正在工作。谢谢。