procmail テキストの削除

procmail テキストの削除

メッセージ本文をスクリプトに送信するprocmailレシピがあります。うまくいきますが、procmailは本文なしでメッセージをデフォルトのフォルダに送信します。

:0
* ^Subject.*Telemetry rotate$
{
:0 bf
! `/usr/bin/php -f /path/to/script/script.php`
}

本文を削除せずにスクリプトに送信するか、フォルダにコピーを送信してからソースファイルを削除するようにprocmailを取得するにはどうすればよいですか?

ベストアンサー1

ここにいくつかのエラーがあります。このfフラグは、メッセージをフィルタの出力に置き換えることを意味します(これbは本文に限定されますが)。ここの中かっこも重複します。だから私は選ぶ

:0b
* ^Subject.*Telemetry rotate$
! `php -f /path/to/script/script.php`

その計画が本当に正しい場合(1)本文をPHPスクリプトに渡し、(2)スクリプトの出力をキャプチャし(これが行われた操作です`backticks`(サム)メッセージをキャプチャされたアドレスに転送します(!これが実行されるアクションです)。

あなたの意図が単に本文をスクリプトに渡すことであれば、

:0b
* ^Subject.*Telemetry rotate$
| php -f /path/to/script/script.php

cその後もメッセージの処理を続行するには、フラグを使用することもできます。

パスをハード/usr/binコーディングすると、スクリプトの移植性が低下し、デバッグphp目的でラッパーに置き換えることができなくなります(または少なくとも非常に面倒になります)。PATH本番環境で正しく設定されていることを確認することをお勧めします。

おすすめ記事