![使用 Exchange 2003 读取/传送回执](https://linux22.com/image/501834/%E4%BD%BF%E7%94%A8%20Exchange%202003%20%E8%AF%BB%E5%8F%96%2F%E4%BC%A0%E9%80%81%E5%9B%9E%E6%89%A7.png)
我遇到过这样一种情况:使用电子邮件帐户通过 Java API 连接到 Exchange 箱中的 SMTP 服务器,从 Exchange 2003 发送电子邮件。
- 有没有办法让 Exchange 根据正文、主题和目的地地址中的文本组合自动标记这些电子邮件以具有已读/送达回执?
- 是否可以通过 Outlook 客户端将这些规则创建为服务器端规则,并在通过 Java API 发送消息时仍然应用这些规则?
- 如何指定规则是客户端还是服务器端?
- 送达回执是由发送服务器还是接收服务器创建的?如果是后者,那么启用这些回执的频率是多少?
- 现在我正在研究在 Exchange 服务器上执行此操作,但如果要从开发方面执行此操作,那么如何创建已读或已送达回执请求,标题中的内容是什么?
答案1
送达回执通常毫无用处,因为它们是由发送服务器在将邮件传递到第一个 SMTP 跳转时生成的。送达回执绝不反映邮件送达收件人邮箱的实际状态。
我认为已读回执是办公室政治的邪恶工具,也是对服务器资源的愚蠢消耗。
如果您想要收据,您的 Java API 应该添加Disposition-Notification-To:
标头。这样您就不必编写丑陋的(且已弃用的)SMTP 传输接收器(我能想到的唯一方法,无需调用更老、更弃用的 API——Exchange 事件服务)来为您标记标头。(参见https://www.rfc-editor.org/rfc/rfc3798了解更多详情...)
题外话:我不再这样做了,因为我直接对客户负责,但我对“旧工作”中的办公室政治感到厌烦,所以我会删除任何要求收据的“内部”电子邮件,而不先阅读它们。幸运的是,我们使用 Outlook/Exchange,所以我可以默默地这样做。真正可怕的脑残电子邮件系统(如 Novell Groupwise)会通知发件人未读删除,尽管我认为这也能达到我想要的效果。
答案2
使用Evan的信息,我能够使用以下命令通过telnet构建消息,接受他的假设,没有人向我展示如何使用服务器执行此操作(尽管我不认为那是最好的方法)。
ehlo
mail from: [email protected]
rcpt to: <[email protected]> NOTIFY=SUCCESS,FAILURE ORCPT=rfc822;[email protected]
data
From: <[email protected]>
To: <[email protected]>
Disposition-Notification-To: <[email protected]>
Return-Receipt-To: <[email protected]>
Subject: Test2
foo
.