SEARCH

Linux Install

Android

Linux Tools

Linux AV

Linux Memo

WINDOWS

PROGRAM

動画 Memo

音楽 Memo

モバイルアプリ Memo

FILE FORMAT

PROTOCOL

DEVICE

BookMark

その他


qmail   

qmail

事前準備

su -
mkdir /var/qmail
groupadd nofiles
useradd -g nofiles -d /var/qmail/alias -s /bin/false alias
useradd -g nofiles -d /var/qmail -s /bin/false qmaild
useradd -g nofiles -d /var/qmail -s /bin/false qmaill
useradd -g nofiles -d /var/qmail -s /bin/false qmailp
groupadd qmail
useradd -g qmail -d /var/qmail -s /bin/false qmailq
useradd -g qmail -d /var/qmail -s /bin/false qmailr
useradd -g qmail -d /var/qmail -s /bin/false qmails
groupadd vida
useradd -g vida -d /var/qmail/ -s /bin/false qmailu
useradd -g vida -d /var/qmail/ -s /bin/false authdb
useradd -g vida -d /home/pop/ -s /bin/bash pop

コンパイルとインストール

wget ftp://ftp.jp.qmail.org/qmail/qmail-1.03.tar.gz
wget http://mirror.averse.net/pub/FreeBSD/ports/local-distfiles/sada/qmail-date-localtime.patch.gz
wget http://qmail.oregonfast.net/moni.csi.hu/pub/glibc-2.3.1/qmail-1.03.errno.patch
wget http://www.qmail.org/qmail-smtpd-relay-reject -O qmail-smtp.patch.txt
wget http://www.ckdhr.com/ckd/qmail-103.patch
tar xzfp qmail-1.03.tar.gz
gunzip qmail-date-localtime.patch.gz
cd qmail-1.03
patch -s < ../qmail-date-localtime.patch
patch -s < ../qmail-1.03.errno.patch
patch -s < ../qmail-smtp.patch.txt
patch -s < ../qmail-103.patch

x wget ftp://ftp.nlc.net.au/pub/unix/mail/qmail/qmail-date-localtime.patch

 make setup check
 ./config-fast 【フルドメインネーム】

設定

/var/qmail/control以下
rcptroutesSMTPで中継するメールアドレスドメイン【重要】
locals自分のサーバの中に取り込むアドレスドメイン
defaultdomainメールを送信する際につける
mefrom が解らなかった場合につけるメールアドレスドメイン
plusdomain変更不要
smtproutes上位メールサーバに丸投げする等の場合に設定
cp /var/qmail/boot/home /var/qmail/rc
emacs /var/qmail/rc
途中にある ./Mailbox の部分を ./Maildir/ に書き換え

SMTPサーバのインストール(必須)

wget http://www.emaillab.org/djb/tools/ucspi-tcp/ucspi-tcp-0.88.tar.gz
wget http://www.qmail.org/moni.csi.hu/pub/glibc-2.3.1/ucspi-tcp-0.88.errno.patch
tar xzfp ucspi-tcp-0.88.tar.gz
cd ucspi-tcp-0.88
patch -s -p1 < ../ucspi-tcp-0.88.errno.patch
make setup check
emacs /etc/tcp.smtp
192.168.:allow,RELAYCLIENT=""
127.:allow,RELAYCLIENT=""
tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtp

旧 mailer の無効化

/etc/rc.d/init.d/sendmail stop
chkconfig --del sendmail
chmod 0 /bin/mail /usr/sbin/sendmail
mv /usr/sbin/sendmail /usr/sbin/sendmail.bak
ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail

この作業を行うと デフォで入ってる logwatch が動作しなくなるので
emacs /etc/logwath/conf/locwatch.conf
Mail の部分を /var/qmail/bin/sendmail におきかえ

emacs /etc/cron.daily/00-logwatch
open(OUTFILE,"|$Config{'mailer'} " . $Config{'mailto'});
に書き換える

qmail-remove (queue の削除ツール)

wget http://www.linuxmagic.com/opensource/qmail/qmail-remove/qmail-remove-0.94.tar.gz
tar xzfp qmail-remove-0.94.tar.gz
cd qmail-remove-0.94
make
cp qmail-remove /var/qmail/bin
mkdir /var/qmail/queue/yanked

使用法

queue の確認
/var/qmail/bin/qmail-qstat

queue の消去
/var/qmail/bin/qmail-remove -r 

起動用スクリプトの記述

emacs /etc/rc.d/init.d/qmaild
#!/bin/sh
############
# Startup script for the Qmail by Penta
#
# chkconfig: 345 55 15
# description: QMAIL SMTP & POP3サーバー
# processname: qmaild
# pidfile: /var/run/qmaild.pid
# filename /etc/rc.d/init.d/qmaild
#
# Source function library.
. /etc/rc.d/init.d/functions

# See how we were called.
case "$1" in
 start)
       echo -n "Starting qmaild: "
       /usr/local/bin/tcpserver -H -R -x /etc/tcp.smtp.cdb \
        -c 100 -u qmaild -g nofiles 0 smtp \
         /var/qmail/bin/qmail-smtpd 2>&1 \
           /var/qmail/bin/splogger smtpd &

       /usr/local/bin/tcpserver -H -R 0 pop3 \
        /var/qmail/bin/qmail-popup 【マシン名.ドメイン名】 \
         /bin/checkpassword /var/qmail/bin/qmail-pop3d Maildir 2>&1 \
           /var/qmail/bin/splogger pop3d &

       /var/qmail/rc &
       echo
       touch /var/lock/subsys/qmaild
       ;;
 stop)
       echo -n "Shutting down qmail: "
       kill $(/sbin/pidof tcpserver)
       kill $(/sbin/pidof qmail-send)
       echo
       rm -f /var/lock/subsys/qmaild
       ;;
 restart)
       $0 stop
       $0 start
       ;;
 *)
       echo "Usage: $0 {startstoprestart}"
       exit 1
esac
exit 0
chmod 755 /etc/rc.d/init.d/qmaild
/sbin/chkconfig --add qmaild

fastforward (/etc/aliases を使うためのツール)

wget http://cr.yp.to/software/fastforward-0.51.tar.gz 
tar xzfp fastforward-0.51.tar.gz
cd fastforward-0.51

(R9 以降では error.h 内の errno を #include <errno.h> に変更)

make setup check
emacs /etc/aliases
root: postmaster@hogehoge.com
/var/qmail/bin/newaliases
emacs ~alias/.qmail-default
| /var/qmail/bin/fastforward -d /etc/aliases.cdb

不正中継テスト

http://www.rbl.jp/svcheck.php
△ http://www.abuse.net/relay.html
× http://www.nanet.co.jp/rlytest/relaytest.html
queue の確認
qmail-stat

pop3

wget http://www.emaillab.org/djb/qmail-vida/software/checkpassword-0.90.tar.gz
tar xzfp checkpassword-0.90.tar.gz
cd checkpassword-0.90
emacs error.h

書き換える

#include <errno.h>
make setup check

既存ユーザ用メールディレクトリ作成

su - 【既存ユーザ】
/var/qmail/bin/maildirmake ./Maildir
echo './Maildir/' > ~/.qmail

新規ユーザ(adduserで新たに作られるユーザ)用に自動的に作られる設定

/var/qmail/bin/maildirmake /etc/skel/Maildir
echo './Maildir/' > /etc/skel/.qmail

ezmlm

wget ftp://ftp.ezmlm.org/pub/patches/ezmlm-0.53.tar.gz
wget ftp://ftp.ezmlm.org/pub/patches/ezmlm-idx-0.40.tar.gz
tar xzfp ezmlm-0.53.tar.gz
tar xzfp ezmlm-idx-0.40.tar.gz
mv ezmlm-idx-0.40/* ezmlm-0.53/
cd ezmlm-0.53
patch < idx.patch
emacs ezmlm-send.c
// szmsgnum[fmt_urlong(szmsgnum,outnum)] = '\0';
sprintf(szmsgnum,"%0*lu",6,outnum);
make clean
make
make setup

filereprefix.zip

参考

http://www.qmail.org/rpms/glibc-2.3.1/
http://yassu.no-ip.com/linux/qmail.htm
http://www.marronkun.net/linux/mail/qmail_1-1.html
http://chronoflyer.ddo.jp/doc/qmail.shtml