Erro POSTFIX: 421 4.7.0 Tente novamente mais tarde, fechando a conexão. (EHLO)

Erro POSTFIX: 421 4.7.0 Tente novamente mais tarde, fechando a conexão. (EHLO)

Eu configurei main.cfno postfix no Linux SUSE assim

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

Eu tentei telnet smtp-relay.gmail.com 25e está funcionando

De qualquer forma, quando tentei enviar email com postfix no servidor, tive o problema.

root@localhost
(host smtp-relay.gmail.com[ipv4] refused to talk to me: 421 4.7.0 Try again later, closing connection. (EHLO)

Responder1

Olhando para odocumentação oficial do Googleparece um "limite de taxa" do lado deles:

 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.

Quantos e-mails por minuto você está enviando? Por experiência, normalmente o Gmail aceita no máximo 50/100 e-mails/minuto.

EDITAR conforme comentário

Bem, parece que o mesmo erro aparece com um HELO/HELO errado (como suspeitei inicialmente).

Eu apenas tentei:

$> 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.

Então é definitivamente sua string EHLO.

Você tem myhostname = localhostno seu main.cfarquivo, você deve alterá-lo com myhostname = [your server fqdn], ou seja, você deve ter umNome de domínio totalmente qualificadopara o seu servidor, complete com entradas DNS/rDNS corretas.

Responder2

Encontrei esse problema ao usar o Symfony/Mailer em meu aplicativo PHP. Que usou o relé SMTP assim:

MAILER_DSN=smtp://smtp-relay.gmail.com:587

A correção foi definir o local_domainparâmetro:

MAILER_DSN=smtp://smtp-relay.gmail.com:587?local_domain=your-domain.com

informação relacionada