Postfixで簡易的なメール転送サーバーを立てる

SSL証明書を取得する際、ドメイン認証がメールしかなかったりするとちょっと困る時があります。(ACMなど)
常時動いてるメールサーバーを立てるほどでもないけど、特定のドメインのメールを受けたい場合にサクッと設定できると便利です。
今回はPostfixで特定のドメインのadmin系のメールを任意のメールアドレスに転送する設定を試してみます。

こんな場合を想定

example.comのサブドメインであるsub.example.comのSSL証明書を取得したい

xxxx@sub.example.comでメールを受けられるメールサーバーが構築されていない

しかしSSL証明書の承認のためにwebmaster@sub.example.com(など)にメールが飛んでくる

受信設定までやるのは手間なので、個人のメールアドレスに転送できるようにする

やってみる

DNSレコード設定

DNSレコードを設定します。sub.example.comというドメインを例とします。
転送だけならAとMXくらいでいいかと思います。TTLも適当に。

mail.sub.example.com. 3600 A xxx.xxx.xxx.xxx(Postfixを導入する適当なサーバーのIP)
sub.example.com. 86400 MX 10 mail.sub.example.com.

Postfixインストール

今回はubuntuに入れるのでapt-getします。

$ sudo apt-get update
$ sudo apt-get install postfix

設定

まずpostfixを設定します。
デフォルトで入る設定をちょっとだけ修正。

$ sudo vi /etc/postfix/main.cf
smtpd_banner = $myhostname ESMTP 
biff = no
append_dot_mydomain = no
readme_directory = no
smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
myhostname = sub.example.com
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = $myhostname
mydestination = $myhostname, localhost
relayhost = 
mynetworks = 127.0.0.0/8
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
inet_protocols = ipv4
local_recipient_maps =
luser_relay = root

エイリアス設定(webmaster -> 任意のメールアドレス)を入れます。

$ sudo vi /etc/aliases
postmaster:    root
webmaster:     xxxx@gmail.com
$ sudo newaliases

postfixをリスタートします。

$ sudo service postfix restart

テストメール送信

ローカルPCからmailコマンドでテストします。

$ echo "test" | mail -s "test mail" webmaster@sub.example.com

xxxx@gmail.comに転送されました。

メールログ上は

Feb  1 10:00:00 sub postfix/local[21405]: XXXXXXXXXX: to=, relay=local, delay=0.13, delays=0.12/0/0/0, dsn=2.0.0, status=sent (forwarded as YYYYYYYYYY)
Feb  1 10:00:00 sub postfix/smtp[21406]: YYYYYYYYYY: to=, orig_to=, relay=ASPMX.L.GOOGLE.COM[74.125.28.26]:25, delay=0.33, delays=0/0/0.19/0.13, dsn=2.0.0, status=sent (250 2.0.0 OK 1111111111 hoge - gsmtp)

雑感

特にスパムメールの対策は考えていないので、使い終わったらポートを閉じるかサービス止めるかしておいたほうが良いかと思います^^;
セキュリティ面できちんと設定できれば、常時公開して問い合わせメールの転送とかにも使えるかもしれません。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です