![POSTFIX エラー: 421 4.7.0 しばらくしてからもう一度お試しください。接続を閉じます。(EHLO)](https://rvso.com/image/726803/POSTFIX%20%E3%82%A8%E3%83%A9%E3%83%BC%3A%20421%204.7.0%20%E3%81%97%E3%81%B0%E3%82%89%E3%81%8F%E3%81%97%E3%81%A6%E3%81%8B%E3%82%89%E3%82%82%E3%81%86%E4%B8%80%E5%BA%A6%E3%81%8A%E8%A9%A6%E3%81%97%E3%81%8F%E3%81%A0%E3%81%95%E3%81%84%E3%80%82%E6%8E%A5%E7%B6%9A%E3%82%92%E9%96%89%E3%81%98%E3%81%BE%E3%81%99%E3%80%82(EHLO).png)
main.cf
Linux SUSEのpostfixで次のように設定します
inet_interfaces = localhost
inet_protocols = ipv4
masquerade_domains =
masquerade_exceptions = root
mydestination = $myhostname, localhost.$mydomain
myhostname = localhost
mynetworks_style = subnet
relayhost=[smtp-relay.gmail.com]:25
smtpd_delay_reject = yes
smtpd_helo_required = no
smtpd_client_restrictions =
smtpd_helo_restrictions =
smtp_sasl_auth_enable = no
smtp_sasl_security_options =
smtp_sasl_password_maps =
smtpd_sasl_auth_enable = no
smtp_use_tls = no
試してみtelnet smtp-relay.gmail.com 25
たらうまくいきました
とにかく、サーバーで postfix を使用してメールを送信しようとすると、問題が発生しました。
root@localhost
(host smtp-relay.gmail.com[ipv4] refused to talk to me: 421 4.7.0 Try again later, closing connection. (EHLO)
答え1
を見て公式Googleドキュメント彼ら側では「レート制限」があるようです:
421, "4.7.0", Try again later, closing connection. This usually indicates a Denial of Service (DoS) for the SMTP relay at the HELO stage.
1 分間に何通のメールを送信していますか? 経験上、通常 Gmail は 1 分間に最大 50/100 通のメールしか受け入れません。
コメントに従って編集
そうですね、間違った HELO/HELO でも同じエラーが表示されるようです (最初に疑ったとおり)。
試してみた:
$> telnet smtp-relay.gmail.com 25
Trying 108.177.15.28...
Connected to gmail-smtp-relay.l.google.com.
Escape character is '^]'.
220 smtp-relay.gmail.com ESMTP b8-v6sm74445wrr.1 - gsmtp
helo localhost
421 4.7.0 Try again later, closing connection. (EHLO) b8-v6sm74445wrr.1 - gsmtp
Connection closed by foreign host.
つまり、それは間違いなく EHLO 文字列です。
myhostname = localhost
ファイルには がありmain.cf
、これを に変更する必要がありますmyhostname = [your server fqdn]
。つまり、 が必要です。完全修飾ドメイン名サーバーの正しい DNS/rDNS エントリを完了します。
答え2
PHP アプリケーションで Symfony/Mailer を使用したときに、この問題に遭遇しました。次のように SMTP リレーを使用しました。
MAILER_DSN=smtp://smtp-relay.gmail.com:587
修正はlocal_domain
パラメータを定義することでした:
MAILER_DSN=smtp://smtp-relay.gmail.com:587?local_domain=your-domain.com