我已经做了很长时间了,但并没有真正让它发挥作用。不幸的是,我只能在我们的 Office365 帐户上进行测试,更改需要很长时间才能传播,所以我只能在更改规则后进行测试。
问题如下
我的组织希望在所有电子邮件中添加集中签名(这可以通过添加传输规则和“附加免责声明...”轻松解决)
然而,问题在于,当邮件以纯文本形式发送时,格式良好的 HTML 签名会被包装起来(这就是我们决定做的,所以至少会添加一个签名),但它看起来可怕。
有没有什么方法可以查明邮件是否为文本/纯文本,然后添加一个签名,如果邮件以 HTML 格式发送,则添加另一个签名?
我一直在尝试各种规则并检查标题Content-Type
并尝试进行匹配,但到目前为止,还没有成功。
我相信Office365运行Exchange 2010。
编辑 经过进一步挖掘后,在 Microsoft 论坛上发现了以下内容:
.. 这仅在您将电子邮件设置为使用 POP 或 IMAP 时才有效。否则,传输规则将无法查看内容类型,因此无法工作。
这就解释了为什么我寻找Content-Type
标题的尝试失败了。
答案1
简而言之,正如您所发现的,Exchange 传输规则根本不够灵活,无法满足大多数组织的签名需求。使用传输规则搜索电子邮件内容的问题在于,它们搜索的是渲染后的正文,而不是原始正文。因此,如果您希望匹配 MIME 部分标头,那么您就没那么幸运了。
此时,您可能需要考虑第三方签名管理产品。请参阅更好的签名管理(交易所绑定?)
答案2
确实,正确的 Content-Type 标头并不容易捕捉。事实上,只有当您使用 Web 邮件时(或者如果您知道在 Exchange 日志中挖掘的位置),才能看到它。它不是您在邮件应用程序中看到的那个。标头始终
Content-Type: application/ms-tnef; name="winmail.dat"
其他标头中没有任何内容可以帮助区分格式。是的,它们确实显示了 X-Mailer,另一个区别是,Message-ID 以 XXX123.PROD.OUTLOOK.COM 或您自己的域名结尾,具体取决于您使用的是 Outlook 连接器还是其他邮件客户端(iOS 和 macOS 上的 Mail.app 都提供了自己的域名),但仅此而已。
老实说,当我测试纯文本免责声明时,我无法在那里添加新行,所以现在我只是采用手动方式......