如何设置Postfix在接收到给定地址/用户名的电子邮件时执行命令,或者可能是包含一些文本的电子邮件?
没有任何方法可以匹配文本,但是您可以将所有消息转发到程序的地址。
您需要将别名添加到系统别名文件(通常是/ etc / postfix / aliases)或添加到用户的.forward文件中。 第一个选项具有更好的灵活性,因为您可以为实际上没有映射到帐户的地址设置别名。
别名应该是这样的
|/usr/local/bin/command
你应该给出一个完整的path,因为你不知道它将被执行的上下文。
如果你的程序退出了67,那么这个消息会以未知用户的身份popup,0会丢弃消息。 其他任何东西都会重试,直到消息超时并popup。
要小心安全性 – 基本上允许互联网上的任何人在你的系统上运行一个程序,所以不要相信用户input,并在使用之前对其进行消毒。
我一直在玩Postfix已经有一段时间了,但是IIRC通常捆绑了一个相当基本的MDA,但是这仍然可以理解用户家目录中的.forward文件,你需要阅读文档和你的postfixconfiguration文件findconfiguration的MDA。
所有MDA(恕我直言)的爸爸是procmail。 您可以用procmailreplacemain.cf中的当前MDA – 请参阅http://www.postfix.org/faq.html#procmail
Procmail读取用户主目录中的文件以确定如何处理消息。 这不仅仅是一个configuration文件 – 它更像是一种编程语言。 它肯定是你所要求的能力。
C。