Ошибка TCP в Sidekiq решена использованием порта 587 (не 25)

Jobs::HandledExceptionWrapper: Обернуто Net::OpenTimeout: Тайм-аут при открытии TCP-соединения с smtp.mailersend.net:25 (превышает 5 секунд)

Я получаю эту ошибку. Это означает, что мне нужно открыть порт 25 для работы SMTP??

Да. Система пытается отправить письмо, но многие хостинг-провайдеры блокируют исходящий порт 25.

Я уже разрешил порт 25 в iptables для входящих соединений… сохранил настройки и настроил автоматическое применение правил при каждой перезагрузке или перезапуске сервера! Что ещё может быть причиной??

Я также проверил свои учётные данные SMTP… они в порядке, DNS настроен и всё остальное тоже, но ничего не происходит.

Есть какие-то идеи, что здесь происходит?? :bowing_man:

Я не знаю, что происходит. Но если вы находитесь в DigitalOcean, то не имеет значения, открыли ли вы порт 25, так как DO блокирует его между вами и внешним миром.

@Jakke Я пользуюсь OVH уже давно и никогда не сталкивался с проблемами, но несколько дней назад я купил у них новый сервер и сразу настроил его с помощью их мощной системы iptables вместо традиционного ufw, который я использовал до недавнего времени. Я открыл порты 22, 80, 443, 6379, а несколько часов назад — порт 25, но пока никаких изменений нет :technologist:

Возможно, мне нужно перезагрузить свой сервер и, возможно, Discourse!

Спросите, не блокируется ли порт 25. Скорее всего, блокировка происходит на уровне роутера, а не операционной системы. Такие сервисы, как Mailgun, используют порт 2525, чтобы избежать этой проблемы.

UFW — это просто фронтенд для iptables, который, в свою очередь, является фронтендом для управления пакетами.

Прямое использование iptables даёт больше гибкости, чем UFW, но требует установки пакета iptables-persistent. Однако между iptables и UFW нет существенных различий, за исключением двух моментов:

  • в iptables важен порядок правил
  • в iptables важен синтаксис

Я бы даже сказал, что упоминания iptables недостаточно, если никто не знает, что именно у вас настроено.

Есть ещё один небольшой нюанс: Docker просто не обращает внимания на то, что вы сделали с iptables на VPS. Docker как бы обходит их.

Остаётся один вопрос, который мне не ясен: зачем вы используете порт 22?

Для SSH-подключения к серверу с целью установки плагинов и т. д. :slight_smile:

Тем не менее, я планировал изменить этот стандартный порт 22 на другой номер ..!

Хорошая идея, но сейчас выходные, и они, как правило, спят допоздна :smiley:

Конечно. Пожалуйста — не читайте то, что я пишу, а то, что я должен был написать :rofl:

Да. Моя ошибка. Я имел в виду, зачем вы хотите использовать порт 25…

Это исходная проблема, с которой я столкнулся в своём первом посте. Я не знал, что означает число 25, но предположил, что это номер порта, связанный с отправкой почты или подтверждением email, чтобы быть более уверенным, и оказался прав :slight_smile:

Я ответил вам про порт 25?? Не уверен, откуда это взялось, но, похоже, это так :confused:

Так что с iptables/ufw вы обычно блокируете входящий трафик, но ошибка касается исходящего трафика с вашего сервера на mailersend.net.

Однако это не ваша проблема.

В настоящее время порт 25 не используется для релейной пересылки писем (в отличие от их доставки). Вместо этого большинство почтовых сервисов используют порт 587, и когда я ищу документацию MailerSend в Google, там действительно указано использовать порт 587, а не порт 25.

Я получил такой ответ от поддержки MailerSend:

Похоже, вы используете порт 25 smtp.mailersend.net:25, отсюда и ошибка. На данный момент мы поддерживаем только порт 587 с шифрованием TLS.

Порт 25 был портом по умолчанию в учётных данных для настройки. Но я сразу же изменил его на 587, и теперь всё работает отлично :partying_face:

Проблема РЕШЕНА