Увлекательнейшим образом началось сегодняшнее утро. А началось оно с приема письма от провайдера (сервера), который сообщил мне, что мой лимитированный входящий трафик на сервер благополучно перешел свою границу, и что я попал на дополнительные деньги в этом месяце.
Пояснение: исходящий траф у меня не считается, но входящего только 200 гб в месяц. При моих скромных объемах мне этого более чем достаточно, но у меня на сервере есть несколько клиентов..
Начали совместно с саппортом копать. Накопали следующее6 кто-то нагло передает в сутки до 20 (!) гигабайт инфы ПО ПОЧТЕ!!! Выяснил кто, связался с их админом, он пошел искать где собака зарыта.
Оказалось: все началось с письма в 2 килобайта.. далее в лицах:
Итак, мы имеем почту на домене клиента, пусть будет cust@root.com
Кто-то написал письмо на почтовый ящик some@othersite.com, при этом в строке обратный адрес указал noreply@root.com, по-русски: не пишите в ответ, нас тут нету, и ящика такого нету..
и вот беда, этот кто-то написал неверный адрес, когда отправлял письмо: ящика some@othersite.com не существует! Но зато существует почтовый сервер с почтовым доменом othersite.com, и когда он получил письмо на несуществующий ящик, он счел своим долгом уведомить отправителя, что, дескать, нету тут таких, и отправил письмо (с цитатой, между прочим, пришедшего письма) на ящичек noreply@root.com!!!
Далее, у ребят стоит внутренний сервер (они получают почту на один ящик, стягивают ее с моего сервера, а потом раскидывают ее внутри сети компании по разным ящикам), который получает письмо на адрес noreply@root.com, и как благовоспитанный сервер считает своим долгом уведомить отправителя, что тот ошибся, и шлет аналогичное полученному письмо на обратный адрес (тоже что-то типа noreplyothersite.com) с цитатой всего, что пришло ему!!!!!
Эта интеллектуальная беседа длилась 10 дней, размеры писем росли в геометрической прогрессии, всего было отправлено / получено порядка 400 000 писем, я получил минус к семейному бюджету и сделал для себя выводы – поставил ограничения на траф всем пользователям :)
p.s. Предположительное решение:
/usr/local/etc/exim/cofigure
ignore_bounce_errors_after = 1d timeout_frozen_after = 1d
сделал у себя так, но, сами понимаете, проверить не могу – жду очередного боунса =)