Sendmail 設定系

ネットワークのイメージ


こんな感じを想定しませう。



【1,2共通】Sendmail のインストール


とりあえず、local で使用可能な Sendmail は既にインストールされているので、
設定用のツールを導入する。

あくまでも、ローカルで実験的に使ってみるテストなので、外部環境ではやらない事。

yum -y install sendmail-cf

【1,2共通】ローカル配送の設定


自分自身に配送するメールを決定する。
/etc/mail 配下の local-host-names を変更する

cd /etc/mail/
vi local-host-names

設定内容は以下の感じ

# local-host-names - include all aliases for your machine here.
example.localdomain

Sendmail のデフォルト設定では、ホスト名(具体的には、/etc/sysconfig/network の HOSTNAME の値) 宛のみが、
自分あてのメールと判断されます。
ここで、該当ドメイン宛のメールを自分宛と判断して貰うわけですな。

【1,2共通】配送方法の決定


デフォルトでは、外部からの smtp 接続等を受け付けないように設定されているので、
色々と設定を変えてみよう。
例えば、受け取ったメールアドレスの @ 以降の from 部を変えたりも出来る。

とりあえず、/etc/mail/sendmail.mc を変更する

// SMTP 通信をすべて許可
// DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl
DAEMON_OPTIONS(`Port=smtp, Name=MTA')dnl

んでんで、m4 マクロで cf を作る。
※なんか、CentOS 6では、sendmail再起動時に、mc から cf の自動作成をしているみたいなので、m4 使わなくても行けそうな感じ。

m4 /usr/share/sendmail-cf/m4/cf.m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf

/etc/init.d/sendmail restart

これで、メールクライアントから送信出来るはず。

【2のみ】配送方法の決定


Sendmail2 は、自分あて以外のメールを relay に転送したいので、
SMART_HOST を利用します。

/etc/mail/sendmail.mc に以下の記述をします。

define(`SMART_HOST', `smtp:relay.example.localdomain')dnl

これで、再起動を掛けると、いい感じに転送してくれます。

【1のみ】配送方法の決定


Sendmail1 は、メールの受信はしますが、転送はしたくないので、
access に記載して、relay するホストを制限します。

/etc/mail/access に以下の記述をします。

# Check the /usr/share/doc/sendmail/README.cf file for a description
# of the format of this file. (search for access_db in that file)
# The /usr/share/doc/sendmail/README.cf is part of the sendmail-doc
# package.
#
# If you want to use AuthInfo with "M:PLAIN LOGIN", make sure to have the
# cyrus-sasl-plain package installed.
#
# By default we allow relaying from localhost...
Connect:localhost.localdomain           RELAY
Connect:localhost                       RELAY
Connect:127.0.0.1                       RELAY
Connect:192.168.11.102                  RELAY
Connect:192.168.11                      REJECT

んで、access.db を作ります。

makemap -v hash access.db < access

これで、192.168.11.102 以外のホストからの送信は拒否。
relay 用の sendmail からのみの転送を許可となります。
最終更新:2013年02月24日 20:19
添付ファイル