なんかいつも設定のどこかを忘れてひっかかるので最低限必要な部分だけ書いておくメモ。
なお、単に自分のサーバで送受信するだけであればsendmail.mcとかはデフォルトのまま変更する必要はありません。
と思うんだけど、メール関連で踏み台とかセキュリティホールとかよく見るので、本当は何か必要なのかも?
よくわからないので誰か教えてください。
例としてinfo@example1.com、info@example2.com宛のメールを受信する設定を行います。
DNSとかは別途設定が必要なのでまあ適当にやって下さい。
/etc/mail/local-host-names
自分のサーバで受け取るメールのドメインを指定します。
ここに書いてあるものは/etc/mail/virtusertableに、書いていないものは/etc/mail/accessにと振り分けられる、メール取扱いの入口です。
書式は、単にドメイン名を羅列します。
example1.com
example2.com
/etc/mail/access
自分のサーバ宛て以外のメールを受け取ったときの動作。
初期設定は以下のようになっています。
localhost.localdomain RELAY
localhost RELAY
127.0.0.1 RELAY
「ローカルホストから送付されたメールのみ、他のサーバに転送を許可する」という意味です。
下手に設定するとスパムの発信基地にされたりしてしまうみたいなので、基本的にデフォルトのままにします。
/etc/mail/virtusertable
完全なメールアドレスでメールの宛先を変更します。
info@example1.com、info@example2.com宛のメールは、どちらもinfoユーザ宛に届きます。
両方とも同じユーザ宛でいいのであれば何も書かなくてよいですが、別のユーザに振り分けたいときに設定します。
info@example1.com info_example1
info@example2.com info_example2
これでinfo@example1.com宛のメールはinfo_example1ユーザに、info@example2.com宛のメールはinfo_example2ユーザに届くようになりました。
特に振り分けせずにそのままでいいよ、という場合は何も記述しません。
/etc/aliases
ユーザに届いたメールを転送します。
こちらはvirtusertableとちがってユーザ単位でしか設定できないみたいですが、そのかわり複数ユーザに転送などができます。
何故かこれだけ/etc/mail/の外なので注意。
info_example1: hoge, fuga
info_example2: info@example3.com
info_example1ユーザ宛のメールはhogeユーザとfugaユーザ宛に、info_example2ユーザ宛のメールはinfo@example3.comのメールアドレスに送付されます。
こちらも変更しない場合は何も記述しません。
上記を全部合わせると、info@example1.com宛のメールはhogeユーザとfugaユーザ宛に、info@example2.com宛のメールはinfo@example3.comのメールアドレスに送られるということになります。
なお、local-host-names以外は編集後にリフレッシュコマンドが必要です。
makemap -v hash /etc/mail/access.db < /etc/mail/access
/usr/sbin/makemap hash /etc/mail/virtusertable.db < /etc/mail/virtusertable
newaliases
なお、単に自分のサーバで送受信するだけであればsendmail.mcとかはデフォルトのまま変更する必要はありません。
と思うんだけど、メール関連で踏み台とかセキュリティホールとかよく見るので、本当は何か必要なのかも?
よくわからないので誰か教えてください。
例としてinfo@example1.com、info@example2.com宛のメールを受信する設定を行います。
DNSとかは別途設定が必要なのでまあ適当にやって下さい。
/etc/mail/local-host-names
自分のサーバで受け取るメールのドメインを指定します。
ここに書いてあるものは/etc/mail/virtusertableに、書いていないものは/etc/mail/accessにと振り分けられる、メール取扱いの入口です。
書式は、単にドメイン名を羅列します。
example1.com
example2.com
/etc/mail/access
自分のサーバ宛て以外のメールを受け取ったときの動作。
初期設定は以下のようになっています。
localhost.localdomain RELAY
localhost RELAY
127.0.0.1 RELAY
「ローカルホストから送付されたメールのみ、他のサーバに転送を許可する」という意味です。
下手に設定するとスパムの発信基地にされたりしてしまうみたいなので、基本的にデフォルトのままにします。
/etc/mail/virtusertable
完全なメールアドレスでメールの宛先を変更します。
info@example1.com、info@example2.com宛のメールは、どちらもinfoユーザ宛に届きます。
両方とも同じユーザ宛でいいのであれば何も書かなくてよいですが、別のユーザに振り分けたいときに設定します。
info@example1.com info_example1
info@example2.com info_example2
これでinfo@example1.com宛のメールはinfo_example1ユーザに、info@example2.com宛のメールはinfo_example2ユーザに届くようになりました。
特に振り分けせずにそのままでいいよ、という場合は何も記述しません。
/etc/aliases
ユーザに届いたメールを転送します。
こちらはvirtusertableとちがってユーザ単位でしか設定できないみたいですが、そのかわり複数ユーザに転送などができます。
何故かこれだけ/etc/mail/の外なので注意。
info_example1: hoge, fuga
info_example2: info@example3.com
info_example1ユーザ宛のメールはhogeユーザとfugaユーザ宛に、info_example2ユーザ宛のメールはinfo@example3.comのメールアドレスに送付されます。
こちらも変更しない場合は何も記述しません。
上記を全部合わせると、info@example1.com宛のメールはhogeユーザとfugaユーザ宛に、info@example2.com宛のメールはinfo@example3.comのメールアドレスに送られるということになります。
なお、local-host-names以外は編集後にリフレッシュコマンドが必要です。
makemap -v hash /etc/mail/access.db < /etc/mail/access
/usr/sbin/makemap hash /etc/mail/virtusertable.db < /etc/mail/virtusertable
newaliases
PR
トラックバック
トラックバックURL: