SMTP認証(SMTP AUTH)

書きかけでした。気づかなかった・・・
まぁ、いつか・・・。

Kerberos 4 ( http://www.pdc.kth.se/kth-krb/) LOGIN認証を使う場合必要

ソースの展開

ソースの展開はどこでも良いのですが、私は/usr/local/src/にて行っています。

 cd /usr/local/src/
tar xvfz sendmail.8.12.2.tar.gz

コンパイルの前に

sendmail.8.12.0になってからいくつか準備が必要になったようです。

suでsmmspのアカウントを作ります。(FreeBSD 4.5ではすでに標準でアカウントがあります。)
vipw
smmsp:*:25:25::0:0:Sendmail Submission User:/var/spool/clientmqueue:/sbin/nologin

/etc/group
smmsp:*:25:

こんな感じになっています。ここは自身がないので誰か教えて下さい。

m4のインストール(バージョンアップ)
FreeBSD3.5.1標準のm4では途中でエラーになります。
pkgからインストールします。

コンパイル

後はいつもと同様です。

cd sendmail.8.12.0/sendmail
./Buildcd ../makemap
./Build

インストール

まず、オリジナルのファイルを保存しておく。

cp /usr/sbin/sendmail /usr/sbin/sendmail.org
cp /usr/sbin/makemap /usr/sbin/makemap.org

インストール

cd ../sendmail
./Build install
cd ../makemap
./Build install

sendmail.cf の作成

付属の cf ツールを利用する。

cd ../cf/cf
cp generic-bsd4.4.mc sendmail.mc
ee config.mc

sendmail.mcの編集

必要に応じて追加する。

divert(0)dnl
OSTYPE(bsd4.4)dnl
DOMAIN(generic)dnl

FEATURE(access_db, `hash -o /etc/mail/access’)dnl
# 外部へメールする場合に必要。

define(`ALIAS_FILE’,`/etc/mail/aliases’)dnl
# 特に記述しなくても動作するが、aliasesファイルを複数設置するときに
#
すぐに設定できるように入れています。「,」で区切って複数記述します。

FEATURE(virtusertable, `hash -o /etc/mail/virtusertable’)dnl
# バーチャルドメイン設定。各ドメイン宛のメールをどのユーザーに集めるか
# 指定できる


FEATURE(`nouucp’,`reject’)dnl
# uucp は使わない。

MAILER(local)dnl
MAILER(smtp)dnl

cfの作成

make sendmail.cf

cfの動作確認

cfは本稼動する前に動作確認をすることが出来る。

# sendmail -bt -f ./sendmail.cf
ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
Enter <ruleset> <address>
> 3,0 root@milkbar.habit.net
3                  input: root @ milkbar . habit . net
96                 input: root < @ milkbar . habit . net >
96               returns: root < @ milkbar . habit . net >
3                returns: root < @ milkbar . habit . net >
0                  input: root < @ milkbar . habit . net >
97                 input: root
3                  input: root
3                returns: root
0                  input: root
0                returns: $# local $: root
97               returns: $# local $: root
0                returns: $# local $: root

localのroot宛になっていることがわかる。

> 3,0 root@habit.net
3                  input: root @ habit . net
96                 input: root < @ habit . net >
96               returns: root < @ habit . net >
3                returns: root < @ habit . net >
0                  input: root < @ habit . net >
88                 input: < smtp : habit . net > . root < @ habit . net >
88               returns: $# smtp $@ habit . net . $: root < @ habit . net >
0                returns: $# smtp $@ habit . net . $: root < @ habit . net >

同じroot宛だが、smtpを経由してhabit.net宛になっている。

テストの終了は ctrl+D

cfインストール

make install-cf

その他の設定

受信するドメインを入れる

ee /etc/mail/local-host-names

aliasesファイルを移動

mv /etc/aliases* /etc/mail

sendmail の起動

sendmailは通常起動されていますので、
ps -x
をして
kill プロセス番号
でいったんsendmailを終了させてから以下のコマンドで起動しています。
kill -HUP プロセス番号
では正常に起動しないのです(誰か教えてぇ)

/usr/sbin/sendmail -bd -q30m

sendmailの起動確認

# telnet localhost smtp
Trying 127.0.0.1…
Connected to localhost.mk.habit.net.
Escape character is ‘^]’.
220 milkbar.habit.net ESMTP Sendmail 8.12.0/8.12.0; Fri, 28 Sep 2001 11:19:23 +0900 (JST)

と出るとOKである。
バージョンが正しいかをチェック。
終了は quit を行なう

参考

http://www.imasy.or.jp/~ume/published/sendmail-8.12/

コメントする

メールアドレスが公開されることはありません。

Time limit is exhausted. Please reload the CAPTCHA.

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください