Вот как полностью выглядит сообщение об ошибке:
Connection timed out H=alt4.gmail-smtp-in.l.google.com [142.250.157.26]:25 DT=12m19s: SMTP timeout after sending data block (452056 bytes written)
Примечание: число в скобках и сервер гугла может быть любой.
Вроде бы всё просто, действуем по инструкции: выключаем exim, грохаем retry, wait базы, запускаем, форсируем очередь и… получаем всё те ошибки. Проверяем файервол, делаем telnet и… опять ничего, всё работает. Пробуем что-то отправить на gmail и… всё работает. Пробуем гуглить и… наталкиваемся на одни и те же советы, некоторые даже касаются проблем tls/ssl которые не помогают.
Пробуем сильнее гуглить и наталкиваемся на обсуждение, где человек экспериментальным путём установил, что на это влияет параметр автоматической установки окна соединения (net.ipv4.tcp_window_scaling). Если его выставить в 0 (то есть, отключить автоматическое изменения окна), то почта тут же начинает нормально ходить на gmail. Далее предлагаются варианты, более “щадящие”
net.ipv4.ip_nonlocal_bind = 1
net.ipv4.conf.default.rp_filter = 2
net.ipv4.conf.default.accept_source_route = 0
Но у меня они не заработали. Пришлось всё-таки оставить net.ipv4.tcp_window_scaling=0 (по умолчанию 1), учитывая, что на этом сервере только почта.