[home][install]

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]
ひらの yo@hirano.cc