假设我创建了一个 IMAP 客户端,并且我想创建一个过滤器,例如,删除具有某些特征的消息。
我可以将此设置为在打开客户端时执行的启动任务,但问题是用户可能会在不同的客户端中查看收件箱,并且在查看收件箱之前过滤器不会删除不需要的消息。
是否有某种方法可以告诉服务器每次收到消息时都调用我的服务,以便服务器收到不需要的消息而不是打开客户端后就可以消失?这甚至可以使用 IMAP 吗?如果没有,是否有不同的支持良好的电子邮件技术允许这种交互?
假设我创建了一个 IMAP 客户端,并且我想创建一个过滤器,例如,删除具有某些特征的消息。
我可以将此设置为在打开客户端时执行的启动任务,但问题是用户可能会在不同的客户端中查看收件箱,并且在查看收件箱之前过滤器不会删除不需要的消息。
是否有某种方法可以告诉服务器每次收到消息时都调用我的服务,以便服务器收到不需要的消息而不是打开客户端后就可以消失?这甚至可以使用 IMAP 吗?如果没有,是否有不同的支持良好的电子邮件技术允许这种交互?
您可以使用Sieve 电子邮件过滤语言和ManageSieve 协议进行服务器端电子邮件过滤。开源软件有很好的支持。但是,我只知道一些支持它的主要电子邮件提供商。如果支持,通常可以在 IMAP 主机上使用 IMAP 帐户凭据访问它,即您可以通过连接到 TCP 端口 2000 和 4190 来测试它。
有关详细信息,请参阅以下三个链接:
Sieve 还支持一些通知类型。如果过滤语言不足以满足您的目的,您可以为所有传入的电子邮件发送通知,唤醒 IMAP 客户端,并让客户端进行过滤。