Sendmail 設定系(リレー)

ネットワークのイメージ


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


【relay の設定】Sendmail のインストール


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

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

yum -y install sendmail-cf

【relay の設定】転送の設定


リレーするメールサーバの為、自分自身ではメールを保持しない。
そのため、local-host-names には何も記載せず、あくまでも DNS の MX レコードを参照することになる。
この、転送用の Sendmail が [DNS 設定系] のDNSを参照している場合は、適切に内部の Sendmail に転送を行い、
外部のアドレスの場合は、外に転送を行えるはず。

ただ、リレーの許可は出さないといけないので、
/etc/mail/access の設定を以下の形に変える。
セグメント単位での許可は、そのセグメントの記載でOK。
セグメントを、CIDR とか細かい単位で区切ってる場合は、無理っぽいけど調べてないです。

# 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                      RELAY

んで、access.db を作るっと。

makemap -v hash access.db < access

【relay の設定】配送方法の決定


デフォルトでは、外部からの 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

これで、メールクライアントから送信出来るはず。
最終更新:2013年02月24日 20:20
添付ファイル