| POP
before SMTPとは |
前の設定ではサーバーの置いてあるネットワーク内部からしか送信が出来ず、外出先からやメールアカウントを持つ友達は送信することが出来ませんでした。なぜなら誰でも送信可能にしてしまうとすぐにspamの餌食になるからです。これを防ぎつつ外部からも送信出来るようにしようと言う方法がPOP
before
SMTPです。送信前に認証が必要なpopサーバーへ接続して接続元IPアドレスを一定時間記録して、この記録されたIPアドレスからの送信を認めるというものです。この方法は多少の不便もありますが、そこそこは安心して使うことが出来ます。欲を言えばsmtpで認証したほうがいいのですが・・・ またpopのパスワードも平文パスワードで丸見えです・・・ このあたりも今後対応していく予定です。
なお、Outlook Expressを利用している場合、最初にプログラムの最初に受信しますので5分以内にはエラーがなく送信可のですが、メールを書き始めて5分経過した後に送信するとエラーになります。もう一度送受信をクリックしても送信から始めるのでまたエラーです。我慢してもう一度送受信ボタンをクリックする必要があります。 |
|
| DRACのインストール |
ファイルをダウンロードする前に必ずdracの展開するフォルダを作成します。
# cd /usr/local/src
# mkdir drac
# cd drac
DRACを以下からダウンロードします。
ftp://ftp.cc.umanitoba.ca/src/drac.tar.Z
展開します。
tar xvzf drac.tar.Z
Makefileを以下の個所を修正します。
INSTALL = install
DEFS = -DSOCK_RPC -DFCNTL_LOCK -DGETHOST -DDASH_C
CC = gcc
CFLAGS = $(DEFS) -g
LDLIBS =
-ldb
RPCGENFLAGS = -C -I
MANADM = 8
makeしてインストールします。
# make
# make install
# mkdir /usr/local/man/man3 (事前にない場合にだけ)
# mkdir /usr/local/man/man8 (事前にない場合にだけ)
# make install-man
# cp libdrac.a
/usr/local/lib
dracd-setup.linuxの以下の個所を編集して起動スクリプトを用意します。
daemon /usr/local/sbin/rpc.dracd -i -e 5 &
killproc /usr/local/sbin/rpc.dracd
起動スクリプトをinit.dにコピーしてランレベルに応じたリンクを張ります。
# cp dracd-setup.linux /etc/rc.d/init.d/dracd
# ln -s /etc/rc.d/init.d/dracd /etc/rc.d/rc0.d/S99dracd
# ln -s /etc/rc.d/init.d/dracd /etc/rc.d/rc3.d/S99dracd
# ln -s /etc/rc.d/init.d/dracd /etc/rc.d/rc6.d/S99dracd
dracd.allow-sampleの下記行をコメントアウト、localhostからだけ許可します。
#255.255.255.255 192.168.16.8
dracd.allow-sampleを/etc/mailにコピーします。
# cp
dracd.allow-sample
/etc/mail/dracd.allow
portmapを起動します。(2004/2/11追加記載)
ntsysvでportmapを起動時に立ち上がるようにチェックして保存します。
# /etc/init.d/portmap start
DRACを起動します。
#/etc/rc.d/init.d/dracd start
DRACの動作確認をします。
# cd
/usr/local/src/drac
# ./testing localhost 1.3.5.7
# strings
/etc/mail/dracd.db
または # db_dump -p
/etc/mail/dracd.db
VERSION=3
format=print
type=btree
HEADER=END
1.3.5.7
1072008984
DATA=END
と出ます。5分後にアドレスと時間が消えていればOKです。
drac.dbのパーミッションを設定します。
# chmod 600
/etc/mail/dracd.db
|
|
| qpopperのインストール |
qpopper最新版を以下からダウンロードします。
ftp://ftp.qualcomm.com/eudora/servers/unix/popper/qpopper4.0.5.tar.gz
展開します。
# tar xvzf qpopper4.0.5.tar.gz
DRACを有効にしてインストールします。
# cd qpopper4.0.5
# ./configure
--enable-drac
# make
# make install
起動スクリプトをipop3のコピーから作成して以下の個所を編集します。
# cp /etc/xinetd.d/ipop3 /etc/xinetd.d/popper
# pico /etc/xinetd.d/popper
service pop3
disable = no
server = /usr/local/sbin/popper
ipop3を今まで使っていた場合には停止します。
# pico /etc/xinetd.d/ipop3
disable = yes
qpopperを起動、ipop3を停止します。
# /etc/rc.d/init.d/xinetd restart
切り替わったかの確認をします。
# telnet localhost pop3
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
+OK Qpopper (version 4.0.5) at pacific starting.
と出ればOKです。quitで抜けます。
|
|
| sendmailの変更 |
sendmail.cfのバックアップを取ります。
#cp /etc/mail/sendmail.cf /etc/mail/sendmail.cf.bak
sendmail.cfに以下の行を追加します。
local infoの下
# dynamic relay authorization control map
Kdrac btree /etc/mail/dracd
SLocal_check_rcptの下
# allow recent POP/IMAP mail clients to relay
R$*
$: $&{client_addr}
R$+
$: $(drac $1 $: ? $)
R?
$@ ?
R$+
$@ $#OK
/etc/mail/accessファイルで中継を許可するネットワークをlocal
hostのみにします。
localhost.localdomain
RELAY
localhost
RELAY
127.0.0.1
RELAY
#
makemap
-v
hash
access.db
<
access <<アクセスマップのデータベースを更新します
sendmailを再起動します。
# /etc/init.d/sendmail restart
|
|