Ich stelle main.cf
Postfix unter Linux SUSE folgendermaßen ein
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
Ich habe es versucht telnet smtp-relay.gmail.com 25
und es funktioniert
Wie dem auch sei, beim Versuch, eine E-Mail mit Postfix an den Server zu senden, trat das Problem auf.
root@localhost
(host smtp-relay.gmail.com[ipv4] refused to talk to me: 421 4.7.0 Try again later, closing connection. (EHLO)
Antwort1
Mit Blick auf dieoffizielle Google-Dokumentationsieht aus wie ein „Ratenlimit“ auf ihrer Seite:
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.
Wie viele Mails versenden Sie pro Minute? Erfahrungsgemäß akzeptiert Gmail höchstens 50/100 Mails/Minute.
BEARBEITEN gemäß Kommentar
Nun, es sieht so aus, als ob bei einem falschen HELO/HELO der gleiche Fehler auftritt (wie ich zuerst vermutet habe).
Ich habe es versucht:
$> 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.
Es ist also definitiv Ihre EHLO-Saite.
Sie haben myhostname = localhost
in Ihrer main.cf
Datei, Sie sollten es mit ändern myhostname = [your server fqdn]
, d.h. Sie sollten einVollqualifizierter Domänennamefür Ihren Server, komplett mit korrekten DNS/rDNS-Einträgen.
Antwort2
Dieses Problem trat bei mir auf, als ich Symfony/Mailer in meiner PHP-Anwendung verwendete. Dabei wurde das SMTP-Relay folgendermaßen verwendet:
MAILER_DSN=smtp://smtp-relay.gmail.com:587
Die Lösung bestand in der Definition des local_domain
Parameters:
MAILER_DSN=smtp://smtp-relay.gmail.com:587?local_domain=your-domain.com