来自PHP的SMTP电子邮件回调

时间:2010-01-14 14:54:20

标签: php email smtp exchange-server

首先,我知道电子邮件召回很少有效,然后通常只能用于Microsoft Exchange服务器。

尽管有这些限制,但客户已请求此功能。

我的理解是Microsoft Exchange中的RECALL功能是SMTP协议的专有扩展,并向客户端发送一封要求RECALL的新电子邮件。然后客户端尽力回忆该消息。

我没有找到有关SMTP的RECALL扩展名的文档,而且我并不真的想要删除wireshark以便跟踪它。我确实找到了正在进行的SMTP扩展的建议http://tools.ietf.org/html/draft-leiba-morg-message-recall-00,我认为这与微软的解决方案类似。

由于我们的解决方案基于PHP,因此我要求: PHP中是否存在为先前发送的电子邮件发送SMTP撤回请求的方法?

此致 沃尔维克

3 个答案:

答案 0 :(得分:3)

我认为这与SMTP没有任何关系。

相反,如果您尝试向非Outlook操作的电子邮件帐户发送召回消息,您可以看到它只是一封电子邮件。我的猜测是,接收Exchange服务器或Outlook客户端将识别此类消息并执行相应的操作。

召回消息的内容似乎很简单,对电子邮件标题没有任何明显的兴趣。不幸的是,消息正文(我现在无法以纯文本形式查看我现在的消息)只是说:

  

John Doe想回忆一下   消息,“foo bar subject”。

无论如何,我怀疑任何PHP电子邮件库都支持这种开箱即用的功能。但是,它应该相当容易实现,因为它可能只需要您创建一个正确的电子邮件模板,并用主题,名称和消息ID填充空白。

答案 1 :(得分:1)

客户是否明确要求与Exchange和RECALL的互操作性,或者她是否将其作为她所追求的最新例子?

如果是后者,我建议您在电子邮件实际发送到SMTP服务器之前使用宽限期提出备用解决方案。对于用户来说,它看起来像是发送了电子邮件,但她可以在宽限期内撤消发送(例如10分钟)。

- ALF

答案 2 :(得分:0)

自2010年以来,Recalling消息有一个SMTP扩展,但似乎没有一个SMTP服务器支持此功能。

https://tools.ietf.org/id/draft-leiba-morg-message-recall-00.html#anchor1