- blogs:
- cles::blog
2009/03/11

本当にすぐ使えるダミーsmtpサーバー



以前に3行でできる、テスト用メールサーバという話がありましたが、実際にテストサーバに導入して使おうと思ったら、サーバをリブートしたときでも大丈夫かとか、いろいろと考えなければいけないことが多かったので、init.dに放り込むだけで使えるようなスクリプトを書いてみました。
† 実際のコード
スクリプトを/etc/init.dの下に放り込んで、chkconfig --add dummysmtpしておくと自動起動できます。ログはデフォルトでは/dev/nullに捨ててしまうようになっていますが、開発のデバッグに使うのであればどこかに書き出すようにしておけばいいと思います。
/etc/init.d/dummysmtp
#!/bin/bash
#
# chkconfig: 2345 80 30
# description: dummy smtp server
LOGFILE=/dev/null
BINDIP=127.0.0.1
BINDPORT=25
getpid(){
netstat -nlp | grep $BINDIP:$BINDPORT | awk '{print $7}' | sed 's/\/.*//'
}
start() {
echo "import asyncore, smtpd
smtpd.DebuggingServer(('$BINDIP', $BINDPORT), None)
asyncore.loop()" | python -u > $LOGFILE 2>&1 &
}
stop() {
PID=`getpid`
/bin/kill -9 $PID
until [ -z `getpid` ]; do :; done
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
status)
pid=`getpid`
if [ -n "$pid" ]; then
echo "dummysmtp (pid $pid) is running..."
else
echo "dummysmtp is not running"
fi
;;
*)
echo "Usage: dummysmtp {start|stop|restart|status}"
exit 1
esac
exit $?
トラックバックについて
Trackback URL:
お気軽にどうぞ。トラックバック前にポリシーをお読みください。[policy]
このエントリへのTrackbackにはこのURLが必要です→https://blog.cles.jp/item/2960
Trackbacks
このエントリにトラックバックはありません
Comments
愛のあるツッコミをお気軽にどうぞ。[policy]
古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
コメントはありません
Comments Form
コメントは承認後の表示となります。
OpenIDでログインすると、即時に公開されます。
OpenID を使ってログインすることができます。
サイト内検索
検索ワードランキング
へぇが多いエントリ
閲覧数が多いエントリ
1 . アーロンチェアのポスチャーフィットを修理(111994)
2 . 福岡銀がデマの投稿者への刑事告訴を検討中(110624)
3 . 年次の人間ドックへ(110254)
4 . 2023 年分の確定申告完了!(1つめ)(109803)
5 . 三菱鉛筆がラミーを買収(109701)
2 . 福岡銀がデマの投稿者への刑事告訴を検討中(110624)
3 . 年次の人間ドックへ(110254)
4 . 2023 年分の確定申告完了!(1つめ)(109803)
5 . 三菱鉛筆がラミーを買収(109701)
cles::blogについて
Referrers