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