作成開始 : 平成22年12月02日(木) 最終更新 : 平成22年12月02日(木)

sendmailの設定 (FreeBSD 8.1 RELEASE)


今回はメールサーバーとしてのSMTP設定ではなく、LAN内にある別のメールサーバーへの送信に限定した動作です。
GUIなクライアントとしての利用であれば sendmail は使用しなくてもいいのですが、WebサーバーやDNSサーバーとかで利用した場合、root あての管理メールを別のメールアカウントに送信したり、CMS、ブログ、BBSなどの投稿情報をメールで送りたい場合などの設定です。

インストール直後では、デフォルトでsendmailサービスが起動しています。ただし、127.0.0.1のみでLISTENしており、内部での配信専用として使用されます。

ディフォルトの起動オプションは次のとおりになっています。

いかなる sendmail(8) デーモンも起動しないようにするには、/etc/rc.conf で
次の変数を設定します:

sendmail_enable="NO"
sendmail_submit_enable="NO"
sendmail_outbound_enable="NO"
sendmail_msp_queue_enable="NO"
起動ファイル(rc.conf)の話し

最初に/etc/defaults/rc.conf を読み込み、その後に/etc/rc.confを読み込むようになっている。
このことによって、ユーザーが独自に加えた変更/etc/rc.confに書き込むことによって、環境変数が上書きされ、システムに反映される訳で、必要のない(デフォルトのままで良い)設定は何もしなくとも /etc/defaults/rc.confの設定が生きるようになっているようである。
さらに、必要なくなった場合は/etc/rc.confのモジュールセクションの内容を消す"NO"を書く。

各種設定

/etc/mail で作業します。

 ↑
ディフォルトでは上のようになっています。
a.aliases を編集してroot からのメールを特定のメールアドレスへ送信します。
# root: me@my.domain
   ↓
root: master@libretto.takaq.jp

libretto.takaq.jp は、LAN内に設置してあるメールサーバーです。

編集したら、make aliases でデータベースに反映されます。(aliases.db が更新されます)
b.access を編集して中継を LAN内 のみ有効にします。
ディフォルトでは、access.sample があるのでこれを access としてコピーします。
そして、以下を追記します。
Connect:192.168 RELAY

※192.168.0.0/16 は中継許可するの意味です。

編集したら、make access.db でデータベースに反映されます。(access.db が作成・更新されます)
c.中継サーバーの指定
外部へのメール中継を LAN内メールサーバー -> ぷららの中継サーバー にしているためです。
これは、WebサーバーのCMSやBBSで外部のメールサーバー宛送信することがあるためです。
・まず、既にある freebsd.mc を 自分用のmcとするため takaq.mc としてコピーしました。(cp freebsd.mc takaq.mc)
・viでtakaq.mc 内にある以下を次ぎのようにコメントを外し有効にしました。
dnl define(`SMART_HOST', `your.isp.mail.server')
        ↓
define(`SMART_HOST', `libretto.takaq.jp')
・自分用のmc (takaq.mc) から sendmail.cf を生成するため viで /etc/make.conf に次を追記しました。
SENDMAIL_MC=/etc/mail/takaq.mc
・make します。
fmv645# make
/usr/bin/m4 -D_CF_DIR_=/usr/share/sendmail/cf/ /usr/share/sendmail/cf/m4/cf.m4 /etc/mail/takaq.mc > /etc/mail/takaq.cf
cp freebsd.submit.mc fmv645.takaq.jp.submit.mc
/usr/bin/m4 -D_CF_DIR_=/usr/share/sendmail/cf/ /usr/share/sendmail/cf/m4/cf.m4 fmv645.takaq.jp.submit.mc > fmv645.takaq.jp.submit.cf
・make install します。
fmv645# make install
install -m 444 /etc/mail/takaq.cf /etc/mail/sendmail.cf
install -m 444 fmv645.takaq.jp.submit.cf /etc/mail/submit.cf
・sendmail を再起動します。
fmv645# make restart
Restarting: sendmail sendmail-clientmqueue.
この時点での /etc/mail の内容です。

テスト

・LAN内にあるメールサーバーへのテスト
同様にして、プロバイダのアカウントや携帯電話のアカウントへ送信してみます。
これでOKならひとまず終わりです。

戻る

サイトトップへ