概要
さくらVPSにバーチャルホストに設定した独自ドメイン宛てのメールを別のメールアドレスに転送する方法のメモ。
事の発端
StartSSLでマルチドメインに対するSSL証明書を取ろうとしたら確認の為にドメイン宛てにメールを送る事に。だけどメールの設定なんてしてない!!
独自ドメインに対するメールを受け取れるようにするサービスは昔googleやOutlook(Micro soft)でやっていたがgoogleは廃止されOutlookは機能を上位版に移譲。無料では使えなくなった。
無料のものは現状ないっぽいしもう自分で設定した方が良いのではといった感じ。
流れ
- DNSを設定
- postfixにメールの受信設定と転送設定を追加
- 転送するメールアドレスを登録
- ポート25を開く
- メールサーバの第三者中継の可能性をチェック
DNSを設定
https://secure.sakura.ad.jp/menu/domain/
からドメイン設定を確認できる。VPSのバーチャルホスト設定してるなら独自ドメイン追加時に設定してるはず。
んでここのゾーン編集を開く。
左側の編集でゾーンを編集。
MXレコードを次のように追加
エントリ名:@
種別:MX
値:10 ドメイン名.
値のドメイン名の最後には必ずドットが入る事に注意。
続いてTXTレコードを次のように追加。
エントリ名:@
種別:TXT
値:@ v=spf1 mx ~all
postfixにメールの受信設定と転送設定を追加
/etc/postfix/main.cf
を次のように編集。
inet_interfaces = all
inet_protocols = ipv4
mynetworks_style = host ←ここは初めからhostだと思う
更に一番最後の行に次を追加
ドメイン名のところはバーチャルホストに登録したドメイン名と同じにする。
smtp_banner = $myhostname ESMTP unknown
virtual_alias_domains = ドメイン名
virtual_alias_maps = hash:/etc/postfix/virtual
転送するメールアドレスを登録
/etc/postfix/virtual
の一番最後の行に次を追加する。
ドメイン名 anything
転送したいメアド@ドメイン名 転送先のメアド
例としてはこんな感じ。
仮にドメイン名が hoge.org だとして aaa@hoge.org というメアドに送信されたメールを gmail に転送したいとする。
hoge.org anything
aaa@hoge.org oreno_mail@gmail.com
尚この転送設定いくらでも増やせる。
hoge.org anything
aaa@hoge.org oreno_mail@gmail.com
hoge.org anything
bbb@hoge.org oreno_mail@gmail.com
hoge.org anything
ccc@hoge.org oreno_mail@gmail.com
hoge.org anything
ddd@hoge.org oreno_mail@gmail.com
最後にDB更新して再起動する。
$sudo postmap /etc/postfix/virtual
$sudo service postfix restart
ポート25を開く
/etc/sysconfig/iptables
に追加する。以下追加例。適切じゃないかもしれないけど。
-A INPUT -m state --state NEW -m tcp -p tcp --dport 25 -j ACCEPT
んでファイアウオール再起動。
$sudo service iptables restart
$sudo iptables -L
メールサーバの第三者中継の可能性をチェック
動作確認
メール送信して転送されたらOK!
最後に
このメモ通りにメールの送信設定をするのは構わないけどスパムの踏み台になる危険性とかあるので自己責任でお願いします。