前回の記事でサブドメインを作ってみましたが、試しにサブドメインのメールアドレス宛に来たメールを外部の他のメールアドレスに転送する設定をしてみましたので覚書を残してみます。メールサーバ(postfix)が動いている前提です。
例
administrator@web.ji0vwl.net 宛に来たメールを、hoge@ji0vwl.comに 転送する
DNS設定
VPSのIPアドレスが、111.111.111.111と仮定します。
転送先のメールサーバに弾かれないように、念のためSPFレコードも登録しておきます。
web.ji0vwl.net IN MX 10 111.111.111.111.111 web.ji0vwl.net IN TXT "v=spf1 ip4:111.111.111.111 ~all"
エイリアス設定
VPSにログインして、エイリアス設定します。エイリアスを使えば、ユーザの実体を作らなくてもよくなります。
ここでは administrator@web.ji0vwl.net 宛に来たメールを、hoge@ji0vwl.comに 転送したいので、以下のように記述します。/etc/aliasesを修正した後、newaliasesを実行することで反映されます。
$ sudo -i # vi /etc/aliases . . . administrator: root, hoge@ji0vwl.com . . . :wq # newaliases
postfix設定
administrator@web.ji0vwl.net宛に来たメールを受信できるように/etc/postfix/main.cfを修正します。mydestinationの設定が大事です。myoriginに$mydomainを設定しておくと、送信されるメールの送信元が administrator@web.ji0vwl.net になりますが、今回は単なる転送なので関係ないかも。
# vi /etc/postfix/main.cf . . . $mydomain = web.ji0vwl.net myorigin = $mydomain mydestination = localhost, $mydomain . . . :wq
私の場合はVPSをメインのメールサーバとして使っていないので、新しいサブドメインのメールアドレスを作った場合、このように転送しておくと便利です。
サブドメインでなくても、例えばSSL証明書を取得するためにどうしてもadministrator等アドレス固定でメールを受信しなくてはいけなくなった場合に使えますね(Let’s Encryptなら不要ですが、初めに使ったStart SSLのときにこうすればよかったかもしれません)。