Хромой голубь

Иногда вселенной кажется что жить мне стало слишком скучно, поэтому она подбрасывает разную НЁХ.

На этот раз пушной зверёк зашел с подветренной стороны и я, честно говоря, пока в полном ступоре.

Upd: 23.12.2025

Обычно, я пишу о проблеме с которой столкнулась, и о её решении. Сегодня будет всё иначе.
Внезапно, и без каких-либо намёков на причину, с сервера перестала уходить почта. Точнее как перестала, только на сторонний сервис. При попытке соединения выбрасывает по таймауту с ошибкой 110.

Как завещали предки, начинаю рассуждать логически:
— На другой домен письма уходят? Да. Значит причина не в моём сервере.
— Ящик на сервисе работает? Да. Значит проблема не с ящиком и/или доменом.
— С ящика на сервер письма приходят? Да. Значит проблема только с отправкой.
— IP сервиса заблокировался? Нет.
— Порты открыты? Да.

На этом моменте я уже начинаю подвисать и пишу саппорту сервиса с описанием проблемы. К моему большому счастью мне довольно быстро отвечают и я скидываю всю информацию о проблеме которая у меня на этот момент есть. Получаю ответ что проблема по их ожиданиям не тривиальная и они отпишутся позже.

Но чтобы не сидеть без дела, я решила ещё чуточку покопать со своей стороны. Пошерстив интернет я нашла отличную утилитку swaks этакий швейцарский нож для тестирования SMTP.

Запускаю проверку.
# swaks -to [local_address] -f [remote_address] --server smtp.service.ru:465 --auth LOGIN
=== Trying smtp.service.ru:465...
=== Connected to smtp.service.ru.
<** Timeout (30 secs) waiting for server response -> QUIT
*** Remote host closed connection unexpectedly.

Ну, вполне ожидаемо. Проблема отвала по таймауту в наличии. Но стоит добавить ключик —protocol SSMTP, который соединяясь по 465 порту добавляет ещё один ключ -tlsc (он же —tls-on-connect) и письмо уходит!

То есть ко всему вышесказанному я могу смело добавить:
— Вручную с сервера письма уходят? Да.

И чисто логически получается, что проблема всё же не в сервисе, и не в сервере, а скорее всего, где-то в скрипте, который отправлял письма. Казалось бы причина найдена, а значит 50% проблемы уже решено. Но вот в чём нюанс… А чему в скрипте то ломаться??? Стандартная функция открытия соединения, которая стабильно работала очень долгое время. Версия плагина самая свежая. Проблема, судя по всему не массовая, так как поиск по тексту ошибки практически ничего не дал. И вот на этом у меня случился полный ступор.

Что, а главное ГДЕ, могло сломаться так, чтобы стандартная функция PHP выдавала таймауты?! При этом если настроить плагин на другой SMTP сервер, то всё работает!

Я надеюсь что мне удастся решить данную проблему со временем. А пока, если вам вдруг не приходят уведомления, вы знаете что у глупой Чиаки что-то сломалось.

Upd1

Возможно, я нашла причину. Но если я окажусь права, то это просто вне всяких цензурных определений.
Копаясь в настройках фаервола, я, на всякий случай, решила посмотреть а что же пишут в сообществе моего хостера. И каково же было моё удивление, когда я обнаружила вполне себе свеженькую октябрьскую новость о том, что «ну, мы задолбались, поэтому порты 25, 465, 587 будут заблочены«. Прикольный расклад, да? Без каких-либо предупреждений, просто взяли и отрубили.

Хорошо, допустим 25 и 465 порты ещё можно понять. Там действительно может происходить отправка без авторизации. Хотя использование SSL уже ставит палки в колёса всяким спамерам, так как время на установку соединения неплохо ограничивает бешеный поток писем. Но блокировать 587 порт… серьёзно?!

Второй нюанс заключается в том, что локальный, тьфу-тьфу, пока работает стабильно. Но если они полностью блокируют 465 и 587 порты на выход, то каким вашу мать способом условный бложик, сайт и т.д. сможет соединиться с проверенным и хорошим почтовым провайдером?! Это же полный бред!!!

Сталкиваясь с такой вот идиотией, я просто выпадаю в шок. Конечно, когда-нибудь настанет тот день, когда всё потеряет смысл и я уйду не только в оффлайн, но и сойду с этой планеты. Но куда торопите то?…

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *