Exim筛选器管道脚本仅适用于最后一封电子邮件,而不是当前版本

2024-06-16 10:46:53 发布

您现在位置:Python中文网/ 问答频道 /正文

这个小组合是处理第二到最近的电子邮件进来-不是最近。

下面是过滤器:

# Exim filter
save /srv/domain.com/bin/mail 660
pipe "/srv/domain.com/bin/sendToMailChimp.py"

它有效-即,我可以看到它保存到邮件文件,它确实调用脚本。。太好了!到现在为止,一直都还不错。。

下面是脚本:

^{pr2}$

(打印0-6以及每个主题线)

我可以把木头拖走。它运行在获取电子邮件上——但似乎在解析邮件mbox并在获取最新电子邮件(即最后一封)之前完成。然后,当下次收到电子邮件时,它会点击最后一封(最近的)。所以如果邮件文件中已经有6封邮件,那么新的邮件——第7主题行不会出现在日志条目中。只有当第8个进来时。。

脚本实际上是否运行得很快,就像exim有机会发送到邮件文件之前一样?如果是这样,那工作是怎么回事?添加睡眠(10)似乎没有做任何事情,如上文所示。。

更新: 通过启动python提示符,我可以看到python在管道外部调用时确实得到了正确数量的键(即消息num)

^{pr3}$

(打印0-7)


Tags: 文件脚本com过滤器主题bin电子邮件domain