问题标签 [winmail.dat]

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 回答
2157 浏览

python - 如何用python解析winmail.dat

我正在从服务器上提取带有附件的电子邮件,并根据某些标准将它们放在文件夹中。这对于使用纯文本编码发送的电子邮件来说没有问题,但我们都知道,如果它们是使用富文本发送的,那么附件会被转换为 winmail.dat 格式。

我尝试使用一个名为 tnefparse 的模块,但没有任何运气,因为我在网上找不到任何文档或示例。

谁能提供一些关于如何使用 tnefparse 或任何其他 Python 模块读取和转换 winmail.dat 附件的示例?

0 投票
1 回答
978 浏览

email - 使用 Thunderbird Lightning 将 winmail.dat 文件导入我的日历

我正在使用带有 Lightning 扩展的 Thunderbird 来组织我的日历。由于发送 winmail.dat 文件以快速将新事件导入日历是很常见的,因此我遇到了使用此 winmail.dat 文件执行此操作的问题。

有没有人找到一种以舒适的方式做到这一点的方法?我想要的是先下载 winmail.dat 文件,用一些(在线)工具转换它,然后才能导入它。它必须是一种直接且非常快速的方法,否则我宁愿手动创建事件条目。谢谢!

0 投票
1 回答
535 浏览

ruby-on-rails - 在 Rails 应用程序中使用 ActionMailer 损坏了 winmail.dat 附件

我在 Ruby on Rails 应用程序中使用 ActionMailer 来阅读电子邮件(ruby 1.9.3,rails 3.2.13)。我有一封附有 winmail.dat 文件(ms-tnef)的电子邮件,我正在使用 tnef gem 来提取其内容。

问题是当我从邮件中读取附件时,它被损坏并且 tnef 无法从中提取文件。

使用任何邮件应用程序提取 winmail.dat 附件,提取的 winmail.dat 可与 tnef 正常工作,我得到了它的内容。

比较这两个文件,我注意到: - 原始文件更大(76k 对 72k) - 它们在换行符上有所不同:原始文件具有 windows 格式(0D 0A),rails 保存的文件具有 linux 格式(0A)

我写了这个测试:

这些消息失败了:

我试图将它作为二进制保存到磁盘,然后再次读取,但我得到了相同的结果

我应该如何阅读附件?

0 投票
1 回答
2707 浏览

c# - 在 Outlook 中防止 winmail.dat(用于 gmail 帐户)

我使用 Visual Studio 2013 和 Add-in express v.7.7.4087 开发了一个 Outlook 插件。我必须处理多个电子邮件帐户(商店)。请看以下截图

在此处输入图像描述

当我使用此 Gmail 帐户向其他 Gmail 收件人发送邮件(通过 Outlook)时,我可以看到一个名为“winmail.dat”的附件。但是在将文件发送给 Exchange 电子邮件收件人后,我看不到该文件。不过,对于 Gmail 收件人,我在 Outlook 已发送框中的邮件项目中看不到该附件。

我使用此交换帐户(通过 Outlook)发送的同一封邮件。但它从不将任何“winmail.dat”文件附加到 Exchange 收件人或 Gmail 收件人

不仅如此,每次当我看到这个“winmail.dat”时,我注意到outlook用自己的“href”替换了链接的文本(所以,用户只能看到href而不是我为那个URL输入的文本)我从未体验过交换

我需要的?

  1. 请解释矛盾之处。
  2. 有什么治疗方法吗?

    一个。防止将“winmail.dat”附加到电子邮件

    湾。避免 HTML 链接文本被自己的“href”替换

我做了什么?和阐述

我的插件的目的是在邮件中使用 guid 包装一些 URL。因此,我在发送之前修改了邮件项的 HTML 正文。我也在添加一些用户属性(仅用于根据我的业务逻辑操作邮件项)。但是我在发送之前删除了所有用户属性(在 itemSend 事件中)。

在将 Outlook 邮件正文设置为纯文本(使用 Outlook 设置)后,我进行了相同的测试,但仍然没有运气。

0 投票
1 回答
569 浏览

c# - 防止 Outlook 使用 VBA 或 C# 发送 winmail.dat (TNEF)

我正在使用 Adob​​e PDFMaker Office COM Addin 从 MS Word 邮件合并工具创建消息。我在 MS Outlook 的发件箱中收到带有 pdf 附件的邮件列表。但除了必要的 .pdf 附件之外,所有电子邮件都使用“垃圾”winmail.dat 附件发送,这让收件人(不使用 Outlook)很困惑。
我想用 VBA(最好的方法)在字母中删除这些 winmail.dat 附件,但可能 - 用 C#(如果不可能使用 VBA)。我可以使用 VBA 将我的邮件格式设置为纯文本,但这无济于事。

编辑:如果手动删除了 winmail.dat,它会在发送过程中被 Outlook 再次附加。

有一篇很棒的文章Forcing Plain Text With MAPI关于摆脱 winmail.dat 的机制(它是如何工作的),但不幸的是作者使用了我不熟悉的 C++。
因此,据我了解,有必要设置 3 个 MAPI 标志来完全避免 TNEF:

  • MAPI_SEND_NO_RICH_INFO
  • ENCODING_PREFERENCE
  • ENCODING_MIME

我正在使用 OutlookSpy 调查外发电子邮件中的 MAPI 标志,但甚至没有找到这样的标志。
我还阅读了有关Redemption 库及其可能性的信息,但我也没有找到有关这些 MAPI 标志的任何提示。
任何人都可以解释或建议:如何使用 VBA 或 C# 设置此标志?
或者可能以其他方式摆脱 winmail.dat 发送?

0 投票
1 回答
515 浏览

python - Odoo:如何处理会话中附加的 winmail.dat?

我们有一些客户使用 Microsoft Outlook 发送附件。但是在 odoo 中,我们只看到winmail.dat文件(而邮件客户端中的一切看起来都很好)。

有什么方法可以强制 odoo 公开winmail.dat内容吗?

0 投票
1 回答
351 浏览

php - 如何检测邮件正文是否为 TNEF 格式(winmail.dat)?

如何使用 PHP检测/检查邮件正文是否为格式(winmail.dat)?

我不想解码,只想检查。我使用imap_fetchbodyandimap_body来获取 BODY,我需要获取 mimetype(或类似)来检查是否为“tnef 格式”,如下所示:

我试过了:

0 投票
2 回答
628 浏览

c# - C#:MailBee:使用 mailbee 的 tnef 实用程序卸载 winmail.dat 中的附件

我正在尝试使用 gmail 收件箱中的 mailbee 阅读电子邮件。我们的想法是获取任何 winmail.dat 并提取其附件并将它们添加到附件池中,这样我们就不必手动执行此操作。MailBee 无法识别我与我的测试邮件一起发送的 winmail.dat 作为 Tnef 文件(该文件的类型是 Tnef 附件类型)。IsTnef 出来是假的。

我找不到很多关于 mailbee tnef 附件的信息,有什么想法吗?

这就是我得到的:

0 投票
0 回答
860 浏览

java - 使用 java mail api 处理 winmail.dat

我正在使用 JavaMail API 来获取附件,其中一些是winmail.dat的形式。

获取作为 winmail.dat 接收的 POP 3 的电子邮件附件如何处理 Microsoft Outlook winmail.dat?还有什么惊喜吗?

我尝试了https://github.com/jukka/jtnef/blob/master/src/net/freeutils/tnef/TNEF.java 和 apache:https ://poi.apache.org/hmef/

当我解析 winmail.dat 文件时,我只得到MAPIProperties,但没有附件文件,当我调试构造的 Message 实例时,附件数组是空的,我们只有一些属性MAPIProperties和 0 个附件。

但是当我们使用其他工具(例如ZimbraVCALENDAR )进行获取时,我们会以附件的形式获取真实文件。

开始:VCALENDAR

方法:请求

CALSCALE:公历

开始:VTIMEZONE

问题:我们如何从文件中提取VCALENDAR文件,winmail.dat或者有什么方法可以将文件转换MAPIProperitesVCALENDAR

例如,我们在 jtnef 的输出中有:

MAPIProp: type=PT_UNICODE_STRING name=[GUID=00.. id=0x.. value=MyAttendee

但在真实(正确)VCalendar文件中:

ATTENDEE;CN=MyAttendee

0 投票
0 回答
87 浏览

java - JavaMail 库中的 winmail.dat 附件解析

当我们从outlook发送一个pdf附件时,在JavaMail库中接收时,我们收到了winmail.dat格式的附件,如何在JavaMail库中解析来自winmail.dat的附件。

尝试使用 JTNEF 库进行解析,但无法转换。