Я устанавливаю main.cf
в postfix на Linux SUSE вот так
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
и это работает
В любом случае, когда я попытался отправить электронное письмо с постфиксом на сервере, у меня возникла проблема.
root@localhost
(host smtp-relay.gmail.com[ipv4] refused to talk to me: 421 4.7.0 Try again later, closing connection. (EHLO)
Глядя на официальная документация Google с их стороны выглядит как "ratelimit":
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.
Сколько писем вы отправляете в минуту? По опыту, Gmail принимает максимум 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.