終了条件が失敗しました。 "${env は既知の演算子ではありません。"

終了条件が失敗しました。 "${env は既知の演算子ではありません。"

Exim構成ファイルにハードコードされたパスを環境変数から取得した値に置き換えようとすると、理解できないエラーが発生します。

"${env" is not a known operator (or a } is missing in a variable reference)

エラーが発生する条件です。

condition = ${if !exists{${env{MAILPATH}{$value} fail }/$local_part} }

条件を次のように変更すると正常に動作します。

condition = ${if !exists{/srv/mail/$local_part} }

私は行で構文エラーを見ることができません${env。それで、誰かが私が犯している愚かな間違いを指摘できますか?

答え1

しばらく直接追跡した後、この${env演算子は比較的新しいexim4バージョン4.86にのみ追加されたようです。比較するここ(4.85)そしてここ(4.86)

残念ながら、Debian jessieで利用可能な最新バージョンのexim4は4.84です。このバージョンを発見するまで、同様の痛みを経験しました。

関連情報