qmail の POP before SMTP の設定
(relay-ctrl-3.1.1のinstall)
relay-ctrl
daemontools
daemontoolsのインストール
DJBのdaemontoolsが必要なのです。
mkdir daemontools-0.76
cd daemontools-0.76
tar xvzf ../daemontools-0.76.tar.gz
cd admin/daemontools-0.76
package/install
なにやらプロセスが常駐したり、/etc/inittabを書き換えられたりしてしまいますが、
ひらちゃんは大人です、何も言わずにおとなしくしておきましょう。
展開
tar xvzf relay-ctrl-3.1.1.tar.gz
cd relay-ctrl-3.1.1
コンパイル準備
Solaris の場合は少々変更が必要です。
vi conf-ld
gcc -s -lsocket -lnsl
vi relay-ctrl-send.c
#include "net/socket.h"
#include "msg/msg.h"
#include "relay-ctrl.h"
/* #include "fork.h" */
#include "iopoll.h"
コンパイル
make
./installer
何の表示も出ずにさみしいが、それでいいのだ。
設定
リレー許可IPのデータが入るディレクトリの作成
mkdir -p /var/spool/relay-ctrl/allow
chmod 700 /var/spool/relay-ctrl
chmod 777 /var/spool/relay-ctrl/allow
設定ファイルの作成
設定ファイルは/etc/relay-ctrl/の下に置きます。
mkdir /etc/relay-ctrl
リレー許可IPのデータが入るディレクトリを設定します。
echo "/var/spool/relay-ctrl/allow" > /etc/relay-ctrl/RELAY_CTRL_DIR
期限切れの処理
crontab -e
* * * * * /usr/local/bin/envdir /etc/relay-ctrl /usr/local/bin/relay-ctrl-age
/var/qmail/rcの変更
POP3をinetdから動かしている場合は、tcpserverから動かすように変更する必要がある。
ひらちゃんのところは、こんな感じ。
vi /var/qmail/rc
#!/bin/sh
env - PATH="/var/qmail/bin:$PATH" \
qmail-start ./Maildir/ splogger qmail &
# SMTP
/usr/local/bin/envdir /etc/relay-ctrl \
/usr/local/bin/relay-ctrl-chdir \
/usr/local/bin/tcpserver -R -v -u qmaildのuid -g nofilesのgid 0 smtp \
/usr/local/bin/relay-ctrl-check \
/var/qmail/bin/qmail-smtpd 2>&1 | /var/qmail/bin/splogger smtpd 3 &
# POP3
/usr/local/bin/envdir /etc/relay-ctrl \
/usr/local/bin/relay-ctrl-chdir \
/usr/local/bin/tcpserver -R -v 0 110 \
/var/qmail/bin/qmail-popup メールサーバ名 \
/usr/local/bin/checkvpw \
/usr/local/bin/relay-ctrl-allow \
/var/qmail/bin/qmail-pop3d Maildir 2>&1 | /var/qmail/bin/splogger pop3d 21 &
起動
/var/qmail/rc &
確認
telnet メールサーバ 25
Trying メールサーバ...
Connected to メールサーバ
Escape character is '^]'.
220 orcaland.gr.jp ESMTP
HELO
250 メールサーバ
MAIL FROM: メール送信元
250 ok
RCPT TO: このメールサーバの管理外のメールアドレス
553 sorry, that domain isn't in my list of allowed rcpthosts (#5.7.1) <-- はじかれる
QUIT
221 orcaland.gr.jp
Connection closed by foreign host.
次にPOPで接続
telnet メールサーバ 110
Trying メールサーバ...
Connected to メールサーバ
Escape character is '^]'.
+OK <9659.1021144566@メールサーバ>
USER ユーザ名
+OK
PASS パスワード
+OK
quit
+OK
Connection closed by foreign host.
もう一度、SMTPで接続してみる
telnet メールサーバ 25
Trying メールサーバ...
Connected to メールサーバ.
Escape character is '^]'.
220 orcaland.gr.jp ESMTP
HELO
250 メールサーバ
MAIL FROM: メール送信元
250 ok
RCPT TO: このメールサーバの管理外のメールアドレス
250 ok <-- 今度は通る
QUIT
221 orcaland.gr.jp
Connection closed by foreign host.
$Lastupdate: 2002/05/12 (Sun) 04:43:09 $
[home]
[install]