[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[postfix-jp:03819] Re: コマン ド起動のエラーメッセージ の取得方法
- Subject: [postfix-jp:03819] Re: コマン ド起動のエラーメッセージ の取得方法
- From: SATOH Fumiyasu <fumiya@xxxxxxxxxxx>
- Date: Wed, 07 Jan 2004 11:27:58 +0900
At Wed, 07 Jan 2004 09:08:11 +0900,
HAYAKAWA Hiroshi wrote:
> 前回のメールに記したPHP-cli内でのシェルエラーの場合も、
> PHP-cliのプログラム自体のエラーの場合も、
> 元メールの差出人にはエラーメールは返りません。
> ブラックホールのように吸い込まれてしまいます。
> それでぜひとも検出されるようにしないとと思っているわけなんです。
test: |/.../testd.php || exit 71
で、testd.php が 0 以外の終了コードを返した場合に
ちゃんとバウンスしませんか? 「71」の出所は /usr/include/sysexits.h。
# Postfix が、「|」で指定したコマンドをシェル (/bin/sh) 経由で
# 起動するのかどうかは調べていない…。:-X
エラーメッセージを取得したいなら、
test: |/.../testd.php 2>&1|/path/to/mailifin -s 'testd.php error' postmaster
とかして、以下のスクリプトを /path/to/mailifin に置くとか?
#!/bin/sh
##
## Mail if stdin is not null
## Copyright (c) 2002-2004 SATOH Fumiyasu. All rights reserved.
##
## Date: 2004-01-06, since 2002-04-16
## License: GNU General Public License version 2
##
## FIXME:
## Support Bcc: recipient(s).
## Prevent read (builtin command) to escape backslashes in the first line.
set -u
PATH="/bin:/usr/bin:/sbin:/usr/sbin:/usr/lib:/var/qmail/bin"
export PATH
sender=""
subject=""
header=""
header_file=""
footer_file=""
usage="Usage: `basename $0` [options] recipient [...]
Options:
-f sender Sender address
-s subject Subject field
-h header Additional header field(s)
-H file Header file for message
-F file Footer file for message
"
# -b recipient Send blind carbon copies (bcc) to recipient
## Parse options
while getopts f:s:h:H:F: opt; do
case "$opt" in
f)
sender="$OPTARG"
;;
s)
subject="$OPTARG"
;;
h)
header="${header:+$header
}$OPTARG"
;;
H)
header_file="$OPTARG"
;;
F)
footer_file="$OPTARG"
;;
*)
echo "$usage" 1>&2
exit 100
;;
esac
done
shift `expr $OPTIND - 1`
if test $# -eq 0; then
echo "$usage" 1>&2
exit 100
fi
## Set sendmail's options and arguments
if test -n "$sender"; then
set -- -f "$sender" ${1:+"$@"}
fi
## Read from stdin
if read line; then
:
else
## No message in stdin
exit 0
fi
## Mail message with some suitable header fields
(
test -n "$subject" && echo "Subject: $subject"
test -n "$sender" && echo "From: $sender"
for recip in "$@"; do
echo "To: $recip"
done
test -n "$header" && echo "$header"
echo
test -n "$header_file" && cat "$header_file"
echo "$line"
cat -
test -n "$footer_file" && cat "$footer_file"
) |sendmail -oi ${1:+"$@"}
exit $?
--
-- Name: SATOH Fumiyasu -- Home: http://www.sfo.jp (in Japanese only)
-- Mail: fumiya at net-thrust.com, samba.gr.jp, namazu.org or ...
- Follow-Ups
-
- [postfix-jp:03822] Re: コマン ド起動のエラーメッセージ の取得方法, HAYAKAWA Hiroshi
- References
-
- [postfix-jp:03811] Re: コマン ド起動のエラーメッセージ の取得方法, B<tommy@xxxxxxxx>
- [postfix-jp:03817] Re: コマン ド起動のエラーメッセージ の取得方法, HAYAKAWA Hiroshi
[検索ページ]
[Postfix-JP ML Home]