Ich habe derzeit einen Postfix-Dienst ausgeführt, der E-Mails sendet und empfängt. Ich versuche, die "Test" -Adresse zu aliasieren, um ein PHP-Skript auszuführen. Siehe Auszug der Alias-Datei unten.PHP-Skript nicht ausgeführt, wenn Alias an eine E-Mail-Adresse in Postfix
test: "| php -q /var/blahblahblah/php/test.php"
Hier ist der Inhalt von test.php. Dies scheint in der Befehlszeile korrekt zu funktionieren.
#!/usr/bin/php
<?php
$file = fopen("/tmp/postfixtest", "a");
fwrite($file, "Script successfully ran at ".date("Y-m-d H:i:s")."\n");
fclose($file);
?>
Im Folgenden finden Sie einen Auszug aus dem mail.log mit den wichtigsten Zeilen.
postfix/qmgr[3427]: 02BE9472A: from=<[email protected]>, size=1681, nrcpt=1 (queue active)
postfix/virtual[3435]: 02BE9472A: to=<[email protected]>, relay=virtual, delay=0.45, delays=0.42/0.01/0/0.02, dsn=2.0.0, status=sent (delivered to maildir)
postfix/qmgr[3427]: 02BE9472A: removed
Beachten Sie das in Klammern angegebene Maildir-Bit. Soll das so etwas wie "An Drehbuch geliefert" sagen?
Alle Dateien werden jetzt auf 777 Berechtigungen und die Aliase Dateien aktualisiert werden gehalten durch sudo newaliases
mit
Es scheint, als ob der PHP-Skript nicht richtig aufgerufen wird, aber ich bekomme keine ‚Fehler‘ in jedem der Protokolle.
Hat jemand das schon mal erlebt oder behoben?
Haben Sie die Alias-Datei nach dem Hinzufügen dieser neu laden? Einige Installationen haben den Befehl 'newaliases' oder' newaliases.postfix' oder starten Postfix einfach neu. –
Ich würde nicht erwarten, dass es scheitert, aber ich habe noch nie einen Alias mit Leerzeichen gesehen. Versuchen Sie, den führenden Platz 'test:" | php -q /path/to/script.php "' zu entfernen –