09/02/26 22:56:48
qmailはtcpserver経由で起動したqmailのqmail-commandに、接続元SMTPのIPを渡したいのですが可能でしょうか。
qmailで受け取ったメールをプログラムで処理する際、接続元SMTPのIPを取得したいという事です。
以下の環境変数には、接続元SMTPのIPはありませんでした。
URLリンク(man.qmail.jp)
qmail-localからcommandに渡される環境変数
tcpserver自体は接続元SMTPのIPを取得し、$TCPREMOTEIP という環境変数を設定するようです。
TCP environment variables
URLリンク(cr.yp.to)
$TCPREMOTEIP
が、qmail から起動されたプログラムでは取得する方法が無いようなのです。
プログラムがメールを受け取る際は「sh -c command 」という形式で実行されると上記マニュアルにありますが、「sh -c command `set`」としてみた結果、この sh 自体も環境変数としては接続元SMTPのIPを認識していないようです。
参考
URLリンク(program.station.ez-net.jp)
URLリンク(ya.maya.st)