qmail 1.03
→solaris編はこちら
以下のサイトよりファイルをダウンロード
http://cr.yp.to/qmail.html
- インストール
※qmail-vidaを使用してAPOP対応する。
http://qmail-vida.sourceforge.jp/
# cd /usr/local/arch # wget ftp://ftp.jp.qmail.org/qmail/qmail-1.03.tar.gz # wget http://cr.yp.to/ucspi-tcp/ucspi-tcp-0.88.tar.gz # wget http://cr.yp.to/checkpwd/checkpassword-0.90.tar.gz # wget http://osdn.dl.sourceforge.jp/qmail-vida/2100/qmail-vida-0.53.tar.gz # mkdir /var/qmail # groupadd -g 1001 nofiles # useradd -u 1001 -g nofiles -d /var/qmail/alias -s /sbin/nologin alias # useradd -u 1002 -g nofiles -d /var/qmail -s /sbin/nologin qmaild # useradd -u 1003 -g nofiles -d /var/qmail -s /sbin/nologin qmaill # useradd -u 1004 -g nofiles -d /var/qmail -s /sbin/nologin qmailp # groupadd -g 1005 qmail # useradd -u 1005 -g qmail -d /var/qmail -s /sbin/nologin qmailq # useradd -u 1006 -g qmail -d /var/qmail -s /sbin/nologin qmailr # useradd -u 1007 -g qmail -d /var/qmail -s /sbin/nologin qmails # groupadd -g 1008 vida # useradd -u 1008 -g vida -d /home/pop -m -s /bin/bash pop # useradd -u 1009 -g vida -d /var/qmail -s /sbin/nologin qmailu # useradd -u 1010 -g vida -d /var/qmail -s /sbin/nologin authdb # cd /usr/local/src # tar xvzf ../arch/qmail-1.03.tgr.gz # tar xvzf ../arch/ucspi-tpc-0.88.tar.gz # tar xvzf ../arch/checkpassword-0.90.tar.gz # tar xvzf ../arch/qmail-vida-0.53.tar.gz # cd /usr/local/src/qmail-vida-0.53 # make patch # make copy # cd qmail-1.03 # vi error.h
extern int errno;
↓
#include <errno.h>
# make setup check # ./config-fast domain.com # cd ../checkpassword-0.90 # vi error.h
extern int errno;
↓
#include <errno.h>
# make setup check # cd ../ucspi-tcp-0.88 # vi error.h
extern int errno;
↓
#include <errno.h>
# make setup check # cd ../qmail-vida-0.53/src/vida # vi error.h
extern int errno;
↓
#include <errno.h>
# make setup check
- 設定
iptablesを使用している場合、25と110ポートを接続許可する。
(参考:Linux)
# cd /var/qmail/alias # echo '&admin' > .qmail-root # echo '&admin' > .qmail-postmaster # echo '&admin' > .qmail-mailer-daemon # cd /var/qmail # cp boot/home rc # vi rc
#!/bin/sh exec env - PATH="/var/qmail/bin:$PATH" \ qmail-start ./Mailbox splogger qmail
# cd /usr/sbin # mv sendmail sendmail.old # ln -s /var/qmail/bin/sendmail # cd /etc # mkdir tcpserver # cd tcpserver # vi smtp.tcprules
127.0.0.1:allow,RELAYCLIENT="" 192.168.0.:allow,RELAYCLIENT="" :allow
# vi pop.tcprules
127.0.0.1:allow 192.168.0.:allow :deny
# tcprules smtp.cdb smtp.tmp < smtp.tcprules # tcprules pop.cdb pop.tmp < pop.tcprules # vi /etc/init.d/qmail
#!/bin/sh
#
# qmail This shell script takes care
# of starting and stopping qmail.
#
# chkconfig: 2345 80 30
# description: Starts and stops qmail.
# Source function library.
. /etc/rc.d/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
# Check that networking is up.
[ ${NETWORKING} = "no" ] && exit 0
#
HOST=domain.com
# See how we were called.
case "$1" in
start)
echo -n "Starting qmail: "
# Using splogger to send the log through syslog.
exec env - PATH="/var/qmail/bin:${PATH}" \
qmail-start ./Maildir/ splogger qmail &
# Start smtpd
exec env - DOMAINOWNER="" \
/usr/local/bin/tcpserver -vHR -x /etc/tcpserver/smtp.cdb 0 smtp \
/var/qmail/bin/qmail-smtpup ${HOST} \
/var/qmail/bin/checkpassword /var/qmail/bin/qmail-smtpd \
2>&1 | /var/qmail/bin/splogger smtpd 4 &
# Start pop3d
exec env - ALLOWPLAIN="0.0.0.0" DOMAINOWNER="" \
/usr/local/bin/tcpserver -vHR -x /etc/tcpserver/pop.cdb 0 110 \
/var/qmail/bin/qmail-popup ${HOST} \
/var/qmail/bin/checkpassword /var/qmail/bin/qmail-pop3d Maildir \
2>&1 | /var/qmail/bin/splogger popd 4 &
echo
touch /var/lock/subsys/qmail
;;
stop)
echo -n "Shutting down qmail: "
killproc qmail-send
killproc tcpserver
echo
rm -f /var/lock/subsys/qmail
echo ""
;;
restart)
echo -n "Restarting qmail: "
$0 stop
$0 start
echo "done."
;;
status)
status qmail
;;
flush_queue)
echo -n "Flush mail queue: "
killall -ALRM qmail-send
;;
*)
echo "Usage: qmail {start|stop|restart|status|flush_queue}"
exit 1
esac
exit 0# chkconfig --add qmail # chkconfig qmail on # /var/qmail/bin/vida-pwdbinit
- ユーザー設定
# su - user # maildirmake Maildir # vi .qmail
./Maildir/ &user@forward.com
# su - pop # vida-passwd -a -r -p YOURPASSWORD -u user
- ヴァーチャルユーザー設定
- 作成
# su - pop $ vida-passwd -a -u vuser -p PASSWORD $ vida-assign -a -u vuser $ vida-maildirmake vuser Maildir
- 削除
# su - pop $ vida-passwd -d -u vuser $ vida-assign -d -u vuser $ cd ~ $ rm -rf vuser
- スパム対策
一定の宛先へのスパムであれば、badrcptoパッチでいけそう。宛先が分散されてきたら、/var/qmail/alias/.qmail-default辺りで処理か。因みに、qmail-vidaはbadrcpttoパッチを含んでいる模様。以下のファイルに受信しないメアドを羅列する。
# vi /var/qmail/control/badrcptto
aaaa@domain.com bbbb@domain.com cccc@domain.com
- 携帯メアド送信(ezweb.ne.jp)
DNSの正引きと逆引きが異なるとauに送信できない?
以下のようなエラー。※上手く行く時もある。
Jun 18 20:42:13 ns1 qmail: 1182123443.464354 delivery 1: deferral: Sorry,_I_wasn't_able_to_establish_an_SMTP_connection._(#4.4.1)/
正引きと逆引きが一致する外部サーバ経由で送信する。
vi /var/qmail/control/smtproutes
ezweb.ne.jp:doma.jp
- qmHandle
以下のサイトからダウンロード
http://sourceforge.net/projects/qmhandle/
# cd /usr/local/src # mkdir qmhandle # cd qmhandle # wget http://downloads.sourceforge.net/qmhandle/ qmhandle-1.2.2.bz2?modtime=1175018104&big_mirror=0 # tar xvjf qmhandle-1.2.2.bz2 # cp qmHandle /var/qmail/bin
キューの数を確認
# qmHandle -l
キューの中身を確認
# qmHandle -L
キューを全て削除
# qmHandle -D
- 手動でキュー削除
# /etc/init.d/qmail stop # find /var/qmail/queue -type f -name "[0-9]*" | xargs rm -rf # /etc/init.d/qmail start
- 手動でキュー削除
- other/wiki (291d) [ WikiのTips ]
Counter: 675,
today: 1,
yesterday: 0
最終更新: 2009-12-17 (木) 18:56:42 (JST) (885d) by aqua
