Недавно я установил новый сервер Debian,
После установки и настройки sendmail в первый раз я не могу отправлять электронную почту.
Reason : Connection timeout.
Вывод из /var/log/mail.log:
> May 6 02:42:53 k***** sm-mta[15070]: q465gjxF013677:
> to=<*****@gmail.com>, ctladdr=<*****@*****.ca> (1001/1001),
> delay=01:00:08, xdelay=00:00:00, mailer=esmtp, pri=300329,
> relay=alt4.gmail-smtp-in.l.google.com., dsn=4.0.0, stat=Deferred:
> Connection timed out with alt4.gmail-smtp-in.l.google.com.
Вывод netstat:
tcp 0 0 0.0.0.0:587 0.0.0.0:* LISTEN 15069/sendmail: MTA
tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 15069/sendmail: MTA
Telnet на 25 также успешно работает при запуске с другого компьютера (telnet theserver.imworkingon.com 25), но не при попытке запустить его с сервера, на котором я работаю. Это говорит мне, что каким-то образом исходящий порт 25 кажется заблокированным ...
У кого-нибудь есть идеи?
Здесь применяются стандартные шаги по устранению неполадок с почтой ... Из журнала мы видим, что вы можете разрешить записи MX / DNS для пункта назначения gmail.com, на который вы отправляете. Так что это не проблема DNS или маршрутизации.
Поскольку это базовая доставка SMTP, попробуйте использовать telnet для порта 25, чтобы убедиться, что вы можете подключиться к хосту назначения ...
Я бы следил за этой последовательностью:
dig mx gmail.com
# Look for the mail destination IP in the output - "209.85.225.27" in this case
telnet 209.85.225.27 25
# This is an attempt to telnet to port 25 (smtp) on the recipient's server...
Вы должны увидеть что-то похожее на:
Trying 209.85.225.27...
Connected to iy-in-f27.1e100.net (209.85.225.27).
Escape character is '^]'.
220 ***************************************
Если вы не видите указанное выше, ваш исходящий SMTP-трафик порта 25 блокируется либо на уровне компьютера (проверьте iptables и т. Д.), Либо на уровне сети (проверьте сетевой брандмауэр или политики провайдера).
если ты делать Если вы увидите подобное сообщение, вы сможете передавать почту и не должны получать ошибки тайм-аута.
Кроме того, вы должны проверить, запрещают ли ваши параметры клиента отправку писем через определенный интерфейс:
O ClientPortOptions = Addr = 1.2.3.4, Name = XXX
Если ваш адресат находится не в той сети, он не сможет пройти.
Тайм-ауты подключения к известным сервисам обычно означают одно из двух:
1- Вы не можете подключиться к порту 25 любого SMTP-сервера, потому что ваш интернет-провайдер блокирует это. Уточните у своего интернет-провайдера, разрешено ли вашему компьютеру отправлять электронную почту напрямую или через ретранслятор. Если ваш интернет-провайдер / хостинг-провайдер предлагает ретранслятор, добавьте следующую строку где-нибудь в середине вашего /etc/mail/sendmail.mc файл:
define(`SMART_HOST', `[relay.your.isp.provides]')dnl
Далее как root run sendmailconfig
и проверьте, работает ли это.
2- Возможно, вам необходимо решить проблему масштабирования окна TCP. Это может быть что угодно, от кабеля до драйвера сетевой карты, самой карты, кабеля, коммутатора и любого промежуточного маршрутизатора, и как heisenbug он может появиться только в вашей конкретной конфигурации. Вы можете попытаться обойти это, добавив следующие строки в /etc/sysctl.conf:
net.ipv4.tcp_rmem = 4096 87380 174760
net.ipv4.tcp_wmem = 4096 16384 131072
net.ipv4.tcp_window_scaling = 0
Далее как root run sysctl -p
и еще раз проверьте, решает ли это проблему или нет.