如何获取 eml 文件并将其放在收件箱中进行日志记录,而无需发送电子邮件?

如何获取 eml 文件并将其放在收件箱中进行日志记录,而无需发送电子邮件?

我有一个归档系统,可以在 Exchange 2010 环境中读取信封和旧式日记邮件。

日志目标只是一个接收每个 SMTP 消息副本的邮箱,并且有一个第三方应用程序可以扫描、导入和删除日志邮箱中的消息(就日志而言,这是标准操作)

我现在想将 Lync 集成到此解决方案中

根据我的测试和这个博客,输出将是一个 EML 文件,并具有正确的 SMTP 2822 标头:

Date: Thu, 11 Dec 2014 17:30:37 GMT
MIME-Version: 1.0
Content-Type: multipart/mixed;
    boundary="MIME_Boundary"
From: [email protected]
To: [email protected]
Session-Id: 7f428701-9876-41a8-b205-ec459a3001ee;dc4575464;32D39476574310618E6AE8F59B02B3FC
Subject: Conversation between ....

--MIME_Boundary
Content-Transfer-Encoding: base64
Content-Type: text/html;
    charset="utf-8"

PGdddddGJvZHdatag== mode data here....
--MIME_Boundary--

问题

我如何将此电子邮件导入日志邮箱(通过脚本)?

我尝试过的方法

最愚蠢的方法是将存档 txt 发送给每个相应的用户。大概我可以通过复制到 IIS 目录来发送电子邮件(我相信是 pickup 文件夹)来实现这一点。但是,当完成时,这会向所有用户发送一封电子邮件,这不是我想要的

我喜欢的方法本质上是这样的:

Telnet to port 25
MAIL FROM: [email protected]
RCPT TO: [email protected]
DATA
<PASTE THE CONTENTS OF THE EMAIL HERE>
.

这将导致消息仅发送到日志邮箱,而不发送给收件人,并且数据将被添加到档案中。

Powershell 发送电子邮件的方法似乎会改变“收件人”,但我想要做的是使信封中的“收件人”和邮件正文中的“收件人”不同。

答案1

在 Exchange 2007 + 中,因此您使用的是 2010,实现目标的最佳方式是使用 EWS。

对于那部分,您将需要编程技能,但有一个简单的答案;

如何:使用 Exchange 中的 EWS 导入项目

前段时间我写过一篇使用 C/C++ 实现此目的的指南;

操作方法:使用本机 C/C++ 中的 API 编码交换 Web 服务

最后一个链接,如何在 Linux 中使用 curl 进行操作;

使用 EWS 进行快速且简单的 UNIX Shell 脚本编写

相关内容