Procmail:动态转发电子邮件


Procmail: Forwarding email dynamically

我想使用 procmail 将所有传入的电子邮件转发到电子邮件地址。通常我会这样做:

:0
! email@domain.com

但是:在这种情况下,我不知道接收器。Insteasd,接收者由PHP脚本根据传入的电子邮件内容计算。

所以我需要这样的东西:

:0c
| /usr/bin/php /var/www/calculatereceiver.php   <== The output of this script is the $RECEIVER address
:0
! $RECEIVER 

当然上面的代码不起作用。我的问题是:如何管理procmail将邮件转发到第一个脚本的输出?

最好的问候,

斯文

> Procmail:程序/脚本输出到变量(STDIN上的电子邮件)

请尝试以下操作:

RECEIVER=`/usr/bin/php /var/www/calculatereceiver.php`
:0
! $RECEIVER 

更安全的版本,可能不适用于所有sendmail看起来都相似:

RECEIVER=`/usr/bin/php /var/www/calculatereceiver.php`
:0
! -- $RECEIVER

文档参考

man procmailrc

由 procmail 启动的反引号中的任何程序都将在其标准处包含整个邮件