複数メールアドレスを使っていた自宅サーバから1アカウントしか無いGSuiteにメールサーバを移転する

Page content

GSuiteのメールを設定します。

自宅サーバで動いて居るメールサーバのインターネットへの公開を止めるためにGsuiteにメールの設定をします。 通常は自分のドメインのMXをgoogleに向けてあげれば良いだけなのだけど、私のドメインにはGsuiteで使っているよりも多いメールアドレスがあるので先にキャッチオールの設定をしておきます。

キャッチオールの設定

キャッチオールアドレスとは?

https://support.google.com/a/answer/2685650?hl=ja

キャッチオール アドレスを設定すると、ドメイン内の実在しないメールアドレスに誤って送信されたメールも受信できます

という機能なのだけど、今回はroot@とかそういうメールアドレスを全部1個のGSuiteアカウントで受信する為に利用します。 メールアドレスが少ないならこの設定をしないでエイリアスを作るかグループでメールアドレス作ってあげた方が良いでしょう。 (エイリアスは1アカウントに30個までつけられるのでメールアドレスが20個以下くらいならエイリアスにした方が良さそう)

実際の設定内容

↑の公式ドキュメントの通りに設定すると、本来どのメールアドレス宛に来たメールなのかがわかりにくくなるので、エンベロープ受信者を変更しないで、受信者を追加しています。

  1. GSuiteのGmailの設定の詳細設定の転送設定に設定を追加する。
  2. 名前はわかりやすく キャッチオール に(ここは好きな名前で良い)
  3. 影響を受けるメールを 受信内部-受信
  4. このメッセージには迷惑メールフィルタを適用しない にチェック (グループでは迷惑メールをフィルタしないで最終的に受信するGmailでフィルタした方が誤検知メールを探しやすい)
  5. その他の送信先 受信者を追加 ここにアカウントが存在しないメールを転送するメールアドレスを指定する
    • 私はキャッチオール用のグループを作ってそこに転送しました
  6. オプションを表示して 影響を受けるアカウントの種類認識出来ない、キャッチオール にチェックを入れる

これで、GSuite内に存在していないメールアドレス宛のメールをキャッチオール用のメールアドレスで全部受信出来る様になります。

DNSの設定の変更

自分のドメインのMXをgoogle指定の物に変更すると、外部からのメールがGSuiteのGmail宛てに届くようになります。

自宅メールサーバの設定を変える

まだ完全に自宅サーバをやめる訳では無いので自宅サーバ内から発生するメールを受け取る必要があります。 うちではpostfixを使っているので以下postfixの設定です。

  1. main.cfのmydestination から $mydomain を抜きます
  2. main.cfに書かれて居るであろうtransport_mapsに設定してあるtransportを書き換えます 今までlocalを指定してた部分を外部のSMTPサーバに変更します。 うちの自宅サーバからのメールをGoogleが受け取ってくれないので、プロバイダが用意してくれているSMTPサーバ経由で転送する設定にして居ます。

/usr/local/etc/postfix/transport

うちのドメイン smtp:プロバイダのSMTPサーバ
#サブドメイン付きのメールアドレスは使っていない
.うちのドメイン error:mail is not deliverable

という感じに設定して、postmap /usr/local/etc/postfix/transport して postfixをreloadすると自宅サーバからローカル配送されるメールもGSuiteのGmail宛てに届くようになります。

できあがり。