Configuré main.cf
postfix en Linux SUSE así
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
Lo intenté telnet smtp-relay.gmail.com 25
y está funcionando.
De todos modos, cuando intenté enviar un correo electrónico con postfix en el servidor, surgió el problema.
root@localhost
(host smtp-relay.gmail.com[ipv4] refused to talk to me: 421 4.7.0 Try again later, closing connection. (EHLO)
Respuesta1
Mirando a ladocumentación oficial de Googleparece un "límite de tasa" de su lado:
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.
¿Cuántos correos por minuto estás enviando? Por experiencia, normalmente Gmail acepta 50/100 correos por minuto como máximo.
EDITAR según el comentario
Bueno, parece que aparece el mismo error con un HELO/HELO incorrecto (como sospeché al principio).
Acabo de intentar:
$> 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.
Entonces definitivamente es tu cuerda EHLO.
que tienes myhostname = localhost
en tu main.cf
archivo, debes cambiarlo con myhostname = [your server fqdn]
, es decir, debes tener unNombre de dominio completopara su servidor, complételo con las entradas DNS/rDNS correctas.
Respuesta2
Me encontré con este problema cuando usaba Symfony/Mailer en mi aplicación PHP. Que utilizó la retransmisión SMTP de esta manera:
MAILER_DSN=smtp://smtp-relay.gmail.com:587
La solución fue definir el local_domain
parámetro:
MAILER_DSN=smtp://smtp-relay.gmail.com:587?local_domain=your-domain.com