ボクの覚え書き – CentOSでサーバ構築 サーバー構築やプログラミングの覚え書き

メールサーバ構築 (sendmail + dovecot + saslauthd)

12.22.2008 · Posted in 覚え書き

SMTP認証とOB25(Outbound Port25 Blocking)対応するとこまで。
我流なところもあるので、一般的ではないかもしれませんが。

まず、/etc/mail/sendmail.mcを編集

この2行のコメントを外す
dnl TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
dnl define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
↓
TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl

この行を編集
DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl
↓
DAEMON_OPTIONS(`Port=smtp, Name=MTA')

この行のコメントを外す
dnl DAEMON_OPTIONS(`Port=submission, Name=MSA, M=Ea')dnl
↓
DAEMON_OPTIONS(`Port=submission, Name=MSA, M=Ea')dnl

/etc/mail/sendmail.cfを生成

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

/etc/mail/sendmail.cfを編集

Cwの行にメールサーバで受信するドメインを記述
複数ある場合は半角スペースをいれて
Cwlocalhost
↓
Cwfunny-k.com xxxxxx.jp yyyyy.net zzzzzzzz.jp

Djの行にメールサーバのホスト名+ドメイン名を記述
#Dj$w.Foo.COM
↓
Djfunny-k.com

SMTP認証のユーザー名・パスワードとシステムのユーザー名・パスワードを別にしたいので/usr/lib/sasl2/Sendmail.confを編集

pwcheck_method:saslauthd
↓
pwcheck_method:auxprop

各サービスを起動

# /etc/init.d/sendmail start
# /etc/init.d/saslauthd start
# /etc/init.d/dovecot start

自動起動設定

# chkconfig sendmail on
# chkconfig saslauthd on
# chkconfig dovecot on

ファイアウォールで下記ポートをOPENする

  • TCP 25 (smtp)
  • TCP 110 (pop)
  • TCP 587 (submission)

あとはユーザーを登録するだけ。

# useradd -s /sbin/nologin hogehoge
# passwd hogehoge

SMTP認証用ユーザー

# /usr/sbin/saslpasswd2 -u funny-k.com hogehoge

ボクの自宅サーバはこれで稼働していますが、プロバイダや環境によっては、他にも設定が必要かもしれません。

Tags:

Comments are closed