パイプされたメールで実行された PHP スクリプトの出力を取得するにはどうすればよいでしょうか?

パイプされたメールで実行された PHP スクリプトの出力を取得するにはどうすればよいでしょうか?

すべてのメールを/path/to/script.phpにパイプ(転送)するようにメールアドレスを設定しました

スクリプトの出力を電子メールの返信として受け取ると思いましたが、うまくいきません。

スクリプトの出力を取得し、その出力をメールの内容として返信メールを送信するにはどうすればよいでしょうか?

(*) スクリプト内で mail() を使用できることはわかっていますが、スクリプトを編集する権限がなく、スクリプトは随時更新されるためコピーできません。

答え1

パイプをもう1本追加するだけでtee生のメールを一時ファイルに出力し、前述の読み取り専用スクリプトにパイプし、最後に別の PHP スクリプトにパイプして残りの処理を実行します。

最後の PHP スクリプトは、読み取り専用スクリプトからの出力と一時ファイルからの送信者アドレスを読み取り、mail() PHP 関数を使用してメールを送信します。

| tee /path/to/tmp/file | /path/to/script.php | /path/to/another.php

ところで、私はそのようなアプローチを使ったことがないし、それが可能かどうかも知りませんが、カンの答えうまくいくかもしれないコマンドラインマクロこれはより良い解決策なので、うまくいった場合はここに返信して方法を教えてください。

答え2

申し訳ありませんが、スクリプトが正しく動作するように設計されていない限り、データをパイプしているからといって自動的に応答する方法がわかりません。

スクリプトを変更できない場合は、出力をキャプチャして必要な処理を実行する別のフロントエンド スクリプトを作成する必要があるかもしれません。

答え3

メールの設定を変更することができます。

<run your php file with arguments> | sendmail <arguments>

構成がわからないと具体的に説明するのは困難です。

関連情報