あなたは、パイプの反対側のスクリプトとパイプトランスポートを使用するルータを作成することができます:着信メッセージがX-Preproceeded
ヘッダーを持っていないか、その値は、メッセージがあるyes
に設定されていません
begin routers
preprocessor:
driver = accept
condition = if{ !eq{$header_X-Preproceeded}{yes}}
transport = myscript
no_more
. . . . .
begin transports
myscript:
driver = pipe
user = scriptowner
command = /path/to/script --opt1 --opt2
場合輸送myscript
に渡されました。これは配管source | script
で実行され、すべてのメッセージはスクリプトのstdin
に渡されます。続行したメッセージをeximに返信したい場合は、メッセージにx-Preproceeded: yes
ヘッダーを追加してメッセージが次のラップに送られないようにする必要があります。その後、sendmail
コマンドで送信してください。
#!/bin/sh
. . . .
mandatory_empty_line = ''
cat << ENDOFTEXT | /usr/sbin/sendmail -t
$headers
X_Preproceeded: yes
$mandatory_empty_line
$message_body
ENDOFTEXT
スクリプトを実行している効果的なユーザーが任意のアドレスからの送信を許可するのeximの設定により、信頼できるユーザーに追加する必要があることに注意してください。そうでない場合は、exim
は、送信者のアドレスをすべて[email protected]