我用的是后缀和电子邮件。但是,我对procmail和php有一个问题。php代码/home/www/cron/mail_visirun.php运行时没有任何问题,但是如果/home/www/cron/mail_selva.php应该在日志文件上运行,则会收到一条错误消息:
我的邮件档案:
我的php文件/home/www/cron/mail_selva.php
LOGFILE=/var/log/procmailrc.log
VERBOSE=yes
ATTACHinvoice=`echo /home/dok/dispo/RGein`
ATTACHselva=`echo /home/dok/dispo/Selva`
:0
* ^From:.*visirun
| /usr/bin/php /home/www/cron/mail_visirun.php
:0c
* ^To.*invoice@domain.it
! Rechnung@domain.it
:0
* ^To.*invoice@domain.it
| munpack -q -C $ATTACHinvoice
:0c
* ^From:.*selva
! info@domain.it
:0c
* ^From:.*selva
| munpack -q -C $ATTACHselva
:0
* ^From:.*selva
| /usr/bin/php /home/www/cron/mail_selva.php
:0
* ^To.*selva@domain.it
| /usr/bin/php /home/www/cron/mail_selva.php
:0 w
! hannes@domain.itphp文件/home/www/cron/mail_selva.php
<?php
echo "OK";
?>我的逻辑:
procmail: Executing "/usr/bin/php,/home/www/cron/mail_selva.php"
procmail: Error while writing to "/usr/bin/php"
procmail: Assigning "LASTFOLDER=/usr/bin/php /home/www/cron/mail_selva.php"我不明白为什么一个脚本运行而另一个脚本出现错误。
发布于 2014-12-03 05:45:58
错误是PHP脚本无法读取其标准输入。Procmail检测到这一点,并认为传递不成功。
如果计划是让脚本用它的标准输入做一些有用的事情,那么只需这样做,错误就会消失。
如果没有,可以更详细地解释(可能是现在在一个新的问题中)当Procmail将当前的消息导入到脚本中时,脚本会做什么以及希望发生什么。
文体学评论:
echo。将variable=`echo value`更改为variable='value' (如果不需要引用该值,则可能不使用引号)。w标志很奇怪。我不知道你能期望做什么。你的意图是什么?:0
* ^From:.*selva
{
:0c
! info@domain.it
:0c
| munpack -q -C $ATTACHselva
:0
| /usr/bin/php /home/www/cron/mail_selva.php
}然后,您仍将继续使用相同的传递操作的^To.*selva@domain.it。也许事情还可以重新分解。
https://stackoverflow.com/questions/27247961
复制相似问题