Разгадана загадка тысячелетия: почему relay not permit для уважаемых господ :-)

У меня в прошлом году была натуральная эпопея, причём, именно от слова «попа». Тогда у меня кто-то из уважаемых коллег перестал мочь отправлять почту, потому что ему с какого-то бодуна сервер запретил релей. Так как разбираться надо было срочно, а воспроизвести ситуацию не получалось, то тогда был открыт релей, а через пару месяцев случилось закономерное. Собственно, можете считать меня криворуким ламером, поэтому что вышесказанное именно на это и намекает.

Сегодня у нас случился рецедив. Снова уважаемый коллега не смог отправить почту. Воспроизвести ситуацию не получается. С домашнего интернета почта не ушла. Всякоразно экспериментирую. Смотрю полнейшие из полнейших логи…

У клиента не установлена авторизация SMTP… Когда он из локальной сети, то вопросов нет, а когда извне, то только вопросы и есть.

О том как я внёс свою лепту в популяризацию американского английского и увеличения члена

Многие из вас догадываются, что ниже на картинке статистика, сделанная продуктом munin. Она как бы намекает сколько писем зависает в очереди почтового сервера на отправку за последний год:

Цена деления на шкале — «500 k». По-русски это звучит как «пицот тыщ».

Тогда начну по порядку. Читать далее

Продолжаем разговор: о странностях работы почты после дурных рук

В предыдущем посте я рассказывал о том как я удалил напрочь логи debian и что всё сломалось. Сегодня я расскажу продолжение этой истории. У одного из менеджеров перестала работать почта на этом сервере. Сервер ещё на входящей сессии давал отлуп о невозможности релея. Вроде ж ничего не менял такого.
Создал на том же сервере аккаунт в другом домене — почта работает «на ура».
Узнал хитрую команду (надо сначала сервер убить):

exim -bd -d+all >/var/log/exim4/fullog 2>/var/log/exim4/fullerr

В результате проблема была локализована и грубо решена: /etc/exim4/vexim-acl-check-rcpt.conf

# deny hosts = ! +relay_from_hosts
# condition = ${if eq {${lookup mysql{select count(*) from domains \
# where domain = ‘${quote_mysql:$domain}’ \
# and spamassassin=’1′}}}{1} {yes}{no}}
# !acl = spf_rcpt_acl
accept authenticated = *
# accept hosts = 192.168.188.140
accept hosts = *
deny message = DNSBL listed at $dnslist_domain\n$dnslist_text
dnslists = dnsbl.njabl.org:cbl.abuseat.org:bl.spamcop.net

В этом файле был добавлен accept hosts = * и закомментированы две следующие строки. После чего почта начала ходить. Что это было?

Сбор почты для всего домена в один ящик средствами exim под debian

Про это мы уже обсуждали вот тут, но оказалось, что в предложенном там решении (rewrite адреса) мы теряем адрес получателя. Поэтому оказалось, что в секции routers файла /etc/exim4/exim4.conf можно добавить вот это:
mydomainforward:
driver = redirect
domains = my.domain.by
Вот как-то так оно вроде бы перенаправляет. Ждём-с ответа от заказчика.

Перенаправление почты при помощи exim

Покликали меня юзеры. Попросили у меня создать почтовый ящик, но только так, что бы вся почта, которая на домен приходит — должна в этот ящик попадать. И что бы все имена считались валидными. А дело происходило на доставшемся мне в наследство сервере под Debian, на котором установлен Exim4 в связке с MySQL. В детстве там работал Virtual Exim, но сразу после принятия мною этого сервера Virtual Exim сломался (делаю честные глаза, как будто я тут не при чём). Так что всё началось с заведения аккаунта на сервере. Задачка, надо сказать, не самая тривиальная 🙂 Читать далее

Горжусь собой безмерно

На оставшемся в наследство мне хостинге упражнялся сейчас с почтой. Точнее даже не упражнялся, а надо было спасать ситуацию. Дело в том, что хостингу в обед сто лет. Кто его устанавливал — не известно. Предыдущий персонал сопровождал хостинг по запискам «Для создания сайта пропишите тут, добавьте тут и такую команду ввести». И так далее. Там был интерфейс для управления почтой (vmail), но сейчас он упорно жалуется на недостачу чего-то в организме, а точнее вообще не открывается. Сейчас мне поставили задачу перенаправить один из адресов с этого сервера на другой. Раньше он был перенаправлен на третий домен, но этот третий домен давно переехал на google mail, а перенаправление было локальное и всё складывалось в почтовый ящик, который сейчас уже совсем никем не проверяется и не планирует проверяться. Так вот, web-интерфейс отсутствовал. За приём почты отвечает exim4 с базами пользователей на mysql. Внимание!!! phpmyadmin тоже не установлен. Я кое-как нашел в «инструкциях по пользованию» рутовый пароль от mysql, и вошел в mysql с консоли. И что же вы думаете? Я нашел в конфигах где тот запрос, который определяет virtual_delivery в другой ящик. Я нашел как прописываются у других пользователей перенаправления на внешние e-mail. И прописал через update users set … так как надо. И оно заработало.

Я умён и горжусь собой.