[Sendmail]


この日記のはてなブックマーク数 このエントリーを含むはてなブックマーク

システムインストール直後のSendmailはローカルからの送信しか許可していないため、設定が必要です。以下の例ではDracを用いたPOP Before SMTPの設定方法。(popperにはqpopperを使用)


まずdracdをインストールします。
dracdはhttp://mail.cc.umanitoba.ca/drac/から取得できます。


cd /usr/local/src
wget ftp://ftp.cc.umanitoba.ca/src/drac.tar.Z
mkdir drac
cd drac
tar xvzf drac.tar.Z


# Makefile の以下の項目を編集


INSTALL = install
EBIN = /usr/local/sbin
MAN = /usr/share/man/man
DEFS = -DSOCK_RPC -DFCNTL_LOCK -DGETHOST -DDASH_C
CC = gcc
CFLAGS = $(DEFS) -g
LDLIBS = -ldb
TSTLIBS = -L. -ldrac
RPCGENFLAGS = -C -I
MANLIB = 3
MANADM = 8


#makeしてインストールします

make
make install
make install-man


以下のエラーがでてmakeに失敗する場合、db4-develパッケージを入れればよい。

rpc.dracd.c:21:16: db.h: No such file or directory


DRACが正しく動いているかテストします。まずインストールされたrpc.dracdをバックグラウンドで実行。

/usr/local/sbin/rpc.dracd &


src内にあるtestingコマンドを実行。192.168.1.222のIPを登録してみます。

./testing 127.0.0.1 192.168.1.222


IPが正しく登録されているかチェック。先ほど登録したIPが表示されるかと思います。


/usr/bin/db_dump -p /etc/mail/dracd.db


format=print
type=btree
bt_minkey=2
db_pagesize=512
HEADER=END
192.168.1.222
972890074


起動スクリプトをコピーします。

cp ./dracd-setup.linux /etc/rc.d/init.d/dracd


起動スクリプトのstart部分を以下のように編集


daemon /usr/local/sbin/rpc.dracd -e 15&


ランレベル3で起動するようにシンボリックリンクを作成chkconfig - init.dスクリプトの追加のようにしてもよい


cd /etc/rc.d/rc3.d
ln -s ../init.d/dracd S78dracd


service dracd start もしくは /etc/rc.d/init.d/dracd start でdracdを起動


ライブラリファイルを/usr/local/libにコピー

cp libdrac.a /usr/local/lib/


次にQpopperをインストールします。
http://www.eudora.comからダウンロードできます。


wget http://www.ring.gr.jp/archives/net/mail/qpopper/qpopper4.0.5.tar.gz
tar xvzf qpopper4.0.5.tar.gz
cd qpopper4.0.5
./configure --enable-specialauth --with-drac=/usr/local/lib --mandir=/usr/share/man
make
make install


x.inetdファイルを作成

cd /etc/xinetd.d/
vi pop


service pop3
{
disable = no
socket_type = stream
wait = no
user = root
server = /usr/local/sbin/popper
server_args = -s
}

xintedを再起動


/etc/rc.d/init.d/xinetd restart


sendmail.cfを再構築します。まずはmcファイルの編集。


vi /etc/mail/sendmail.mc


該当箇所を以下のように修正。


dnl DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')
dnl FEATURE(`accept_unresolvable_domains')dnl


DRACを使用するため以下をmcの最後に追加(MAILER定義より後)


LOCAL_CONFIG
# dynamic relay authorization control map
Kdrac btree /etc/mail/dracd


LOCAL_RULESETS
SLocal_check_rcpt
# allow recent POP/IMAP mail clients to relay
R$* $: $&{client_addr}
R$+ $: $(drac $1 $: ? $)
R? $@ ?
R$+ $@ $#OK

注: R$* と $: $&{client_addr}の間はタブになります。


sendmail.cfをバックアップ


cp /etc/sendmail.cf /etc/sendmail.cf.bak


sendmail.cfを再構築

m4 /etc/mail/sendmail.mc > /etc/sendmail.cf


/etc/mail/local-host-namesにメールで受け取るドメインを記入


最後にメールサーバを再起動して完了。


/etc/rc.d/init.d/sendmail restart


[参照記事]
dracd.dbのエントリーを調べるには



関連記事
$jの確認方法
stat=Deferred: local mailer (/usr/bin/procmail) exited with EX_TEMPFAIL
submit.cf - ローカル配送の転送
DSN: Data format error
dracd.dbのエントリーを調べるには
ClamAV - Oversized Zip FOUND
SMTP AUTH
Domain name required for sender address
alias database /etc/aliases.db out of date
config error: mail loops back to me (MX problem?)
dnsblによるスパム対策
/etc/mail/local-host-names
Cannot resolve PTR record for
procmailにて未承諾広告を削除
Domain of sender address....
/etc/mail/access.db - リレーの制御
savemail panic
sendmailのアップグレード
キューの再送をする
ClamAVによるウィルススキャン
virtusertable - 複数ドメインのメールを受信
MaxMessageSize - メールの送受信サイズを制限するには
メールの転送設定 - aliases
Unable to process From lines (envelope), change recognition modes
キューの並列処理をさせるには
キューの時間を変更するには
sendmailのバージョンを調べるには
mailq - メールのキューを見るには
メールをプログラムへ渡すには
mailertableによる配送経路の指定
telnetによるメール送信
Drac + QpopperによるPOP Before SMTP
Sendmailでのウィルススキャン
広告