postfix で受信したメールを、scmail に渡す shell command を作成した。
その中で、To-addr により設定を一部変更しているのだが、その文字列比較をベタで「小文字」のアドレス比較としたため、大文字の To-addr が error となってしまった。
こんな感じ。
if [ ${TO} = "foo@example.net" ] ; then
export X_HOME=/var/xxx/foo
else
echo "ERROR: ${TO}" >> /tmp/mail.err
これだと、大文字の "FOO@EXAMPLE.NET" 宛てのメールがエラーとなってしまう。
で、ぐぐったところ、http://qiita.com/kawaz/items/211266021515b3f033a3 ここのような大小文字変換があることが判明
早速次のように変更し、現在順調に動作している。
if [ ${TO,,} = "foo@example.net" ] ; then
export X_HOME=/var/xxx/foo
else
echo "ERROR: ${TO}" >> /tmp/mail.err
しかし、アドレスが大文字のメールが来るとは、思ってもいなかった。