LoginSignup
0
1

More than 5 years have passed since last update.

G-Suiteのリジェクトをローカルでメールをリレーさせて回避する

Last updated at Posted at 2018-06-13

あるEC2インスタンス+EIP運用のサーバ(以下サーバA)から
メールをとばしてたらG-Suiteからはじかれるようになって悲しかったときの話

前提というか状況

  1. サーバAはpostfixを使っている
  2. サーバAからあるG-Suite使用ドメイン(以下@company.com)宛に送信するとはじかれる
  3. その他のメールアドレス宛の送信は可能
  4. EIPのブラックリスト登録はされていない → mxtoolboxのブラックリストチェック
  5. EIPのメール送信上限緩和申請&逆引き申請は済んでいる → AWS EC2 Eメール上限緩和 / 逆引き(rDNS)設定 申請手順
  6. SPFレコードはPassしている → mxtoolboxのSPFチェック
  7. DKIMもDMARCもOK

maillogのエラー

/var/log/maillog
May  8 15:07:28 mail01 postfix/smtp[21362]: 930CE4019A: to=<hoge@company.com>, relay=alt1.aspmx.l.google.com[*.*.*.*]:25, delay=433074, 
delays=433072/0.04/1.6/0.89, dsn=4.7.0, status=deferred (host alt1.aspmx.l.google.com[173.194.199.27]
 said: 421-4.7.0 [*.*.*.*      15] Our system has detected an unusual rate of 421-4.7.0 unsolicited mail originating from your IP address.
  To protect our 421-4.7.0 users from spam, mail sent from your IP address has been temporarily 421-4.7.0 rate limited.
   Please visit 421-4.7.0  https://support.google.com/mail/?p=UnsolicitedRateLimitError to 421 4.7.0 review our Bulk Email Senders Guidelines.
    4-v6si5777803oil.431 - gsmtp (in reply to end of DATA command))

そんなあ

対策の検討

もうGoogle側でリストされていて手出しができない・・・
対策として考えられるのは以下の2つ

  1. サーバAのEIPを変更してトライ
  2. 他のサーバをリレーさせる

1.はDNSのレコード切り替えしたくなかったし
  次のEIPもだめだったら地獄なのでとりあえず却下

2.の方向で行くことに。

対策の実装

どのサーバにリレーさせるかですが、company.comのAレコードを持っている
サーバ(以下サーバB)にリレーさせることに決定。

全てのメールをリレーさせてもいいけど、
すでに配信できてる分は不用意にいじりたくないので
company.com宛のメールのみサーバBをリレーさせてあげることに。

1.サーバBのEIPで逆引き申請

AWS EC2 Eメール上限緩和 / 逆引き(rDNS)設定 申請手順

2.サーバBでSPFとかDKIMとかそのへん全部パスできるようにレコード見直し

がんばる

3.サーバAのPostfixでcompany.comだけサーバB(192.168.0.1)をリレーするようにする

/etc/postfix/main.cf
transport_maps = hash:/etc/postfix/transport
/etc/postfix/transport
comapny.com  smtp:[192.168.0.1]
# postmap /etc/postfix/transport
# systemctl restart postfix or # service postfix restart

4.サーバBのPostfixでローカルIPでリレーさせるのでメールヘッダのホストがIPアドレスでもOKにするのと

 メールヘッダからサーバAのローカルIP消したい

/etc/postfix/main.cf
enderesolve_numeric_domain = yes
header_checks = regexp:/etc/postfix/header_checks
/etc/postfix/header_checks
/^Received:.*192\.168\..*/ IGNORE
/^Received:.*127\.0\.0\.1.*/ IGNORE
# systemctl restart postfix or # service postfix restart

これでOK!

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1