|
Qmail
|
|
|
すでに開発の終了した NATです。
postfixをお勧めします。 |
|
|
|
|
patch を反映して、インストールを行う。
# cd /usr/ports/mail/qmail # make patch # make && make install && make clean
make patch を実行すると、patch 選択画面が表示されるので、qmail-date-localtime.patch と qmailqueue-patch を反映させる場合は、QMAILQUEUE_PATCH と LOCALTIME_PATCH を選択する。
qmailの簡易設定(HOSTNAME:完全なホスト名を入力)
# cd /var/qmail/configure/ # ./config-fast HOSTNAME HOSTNAMEの部分をあなたのホストに変更
例 localhost# ./config-fast citybsd.is-a-geek.com Your fully qualified host name is citybsd.is-a-geek.com. Putting citybsd.is-a-geek.com into control/me... Putting is-a-geek.com into control/defaultdomain... Putting is-a-geek.com into control/plusdomain... Putting citybsd.is-a-geek.com into control/locals... Putting citybsd.is-a-geek.com into control/rcpthosts... Now qmail will refuse to accept SMTP messages except to citybsd.is-a-geek.com. Make sure to change rcpthosts if you add hosts to locals or virtualdomains!
以下の設定ファイルを自動で編集してくれました。
ドメイン名 /var/qmail/control/me
補完スルドメイン名 /var/qmail/control/defaultdomain
追加補完するドメイン名 /var/qmail/control/plusdomain
ローカルドメイン名一覧 /var/qmail/control/locals
受信するドメイン名一覧 /var/qmail/control/rcpthosts
# /var/qmail/scripts/enable-qmail
===> I hope you know what you are doing: ===> You just told your system to not ===> automaticaly start sendmail on your ===> next startup. ===> (i.e., added sendmail_enable="NONE" to rc.conf) ===> Do not forget to choose an appropriate qmail startup ===> script. Go through /var/qmail/boot, choose one ===> and copy the chosen script as /var/qmail/rc ===> For example, "cp /var/qmail/boot/proc+df /var/qmail/rc"
自動起動 # echo 'qmail_enable="YES"' >> /etc/rc.conf
# cp /var/qmail/boot/maildir /var/qmail/rc
# cd /usr/ports/sysutils/ucspi-tcp # make ; make install
tcpserver のデータベースファイルを作ります。 qmail-smtpd は宛先が rcpthosts に記述されたホスト以外へのメールは全て拒否します。 tcpserver にデータベースを読み込ませることにより、リレー許可を行ないます。 データベースファイルを準備するため、 /etc/tcp.smtp を作成します。
# ee /etc/tcp.smtp 下記を記入 127.:allow,RELAYCLIENT="" 192.168.0.:allow,RELEYCLIENT=""
/etc/tcp.smtp を tcpserver 用のデータベースファイルの cdb 形式に変換するため、tcprules コマンドを実行します。
# /usr/local/bin/tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtp
# ee /usr/local/etc/rc.d/qmail.sh 以下を追加
/usr/local/bin/tcpserver -x /etc/tcp.smtp.cdb -v -u 83 -g 81 0 smtp /var/qmail/bin/qmail-smtpd 2>&1 | /var/qmail/bin/splogger smtpd 3 &
※ -u の引数にはqmaildのuidを、-gの引数にはnofiles(FreeBSDのportsからだとqnofiles)のgidを設定してください。
例..............................................................................
#!/bin/sh
# Using splogger to send the log through syslog. # Using qmail-local to deliver messages to Maildir format by default
case "$1" in start) exec env - PATH="/var/qmail/bin:$PATH" qmail-start ./Maildir/ splogger qmail& /usr/local/bin/tcpserver -x /etc/tcp.smtp.cdb -v -u 82 -g 81 0 smtp /var/qmail/bin/qmail-smtpd 2>&1 | /var/qmail/bin/splogger smtpd 3 &
exit 0 ;; stop) exec killall qmail-send ;; *) echo "Usage: `basename $0` {start|stop}" >&2 exit 64 ;; esac
ここまで.............................................................................
make buildkernel 時に、sendmail がコンパイルされないように、make.conf を修正。 # echo 'NO_SENDMAIL=true' >> /etc/make.conf
これから新規に作成するユーザが、Maildir を使うよう修正する。
# /var/qmail/bin/maildirmake /usr/share/skel/Maildir # echo './Maildir/' > /usr/share/skel/dot.qmail # chmod 600 /usr/share/skel/dot.qmail
login.conf を修正。
# ee /etc/login.conf
:setenv=MAIL=/var/mail/$,BLOCKSIZE=K,FTP_PASSIVE_MODE=YES:? を :setenv=MAIL=/home/$/Maildir/,BLOCKSIZE=K,FTP_PASSIVE_MODE=YES:? に変更
webmin設定
Command to start QMail /usr/local/etc/rc.d/qmail.sh start
既存ユーザが、Maildir を利用する場合、下記を各ユーザに su して実行。
/var/qmail/bin/maildirmake ~/Maildir echo ./Maildir/ > ~/.qmail chmod 600 ~/.qmail
エイリアスの設定をします。 postmaster, mailer-daemon, root の 3 つが必要です (qmail では root へはメールを配送しません)。 hoge というユーザのエイリアスを設定する場合、/var/qmail/alias/.qmail-hoge というファイルを作成し、 転送先アドレスをその中に記述します。
postmaster, mailer-daemon, root 宛のメールを user@my-domain.xx.jp へ転送する例 # echo user@my-domain.xx.jp > /var/qmail/alias/.qmail-postmaster # echo user@my-domain.xx.jp > /var/qmail/alias/.qmail-mailer-daemon # echo user@my-domain.xx.jp > /var/qmail/alias/.qmail-root
|
|
|