[TL;DR]

Плачу...Просто таки рыдаю от счастья. Почему? Да потому что наконец смог победить то,с чем ебался более полугода - авторизацией SMTP из MySQL. То есть что б если у юзера есть ящик на сервере,то он мог не токо получать,но и отправлять почту используя свои логин/пароль.Проблема заключалась в том,что принять почту было не проблема - Postfix хорошо лез в базу и читал оттуда данные юзеров.А вот отправлять было уже гораздо более дорогим удовольствием.Да и сервера мои достались мне от предыдущих админов,потому там был темный лес во многом.По началу я решал проблему отправки почты добавляя руками юзера в базу sasldb. Но это хорошо когда у тебя пара-тройка юзеров.А если больше?Потому необходимость избавиться от геммороя и сделать все "как у нормальных людей" стояла довольно остро. Замечу,что жалкие попытки таки наладить гребаную авторизацию с моей стороны происходили довольно часто.Но заканчивались чуть менее чем ничем.Все упиралось в то,что демон Saslauthd просто не хотел вычитывать логин/пароль.Гуляя по инету натыкался и пробовал кучу других вариантов.Например auxprop с плагином mysql.Все бы ничего,да только с криптованными паролями он не умеет работать,а хранить в базе в открытом виде - попахивает идиотизмом.Потому выбор пал на подключение и логирование всего,что токо уходит и приходит,и все таки выяснения чего же не хватает.Как оказалось,проблемы были.Аж две! Одна из них заключалась в том,что надо было удалить PID saslauthd из одного места и сделать симлинк на него из другого.А вторая была просто феерична! У меня для авторизации используется логин в полном почтовом формате - то есть логин и домен,например rusua@myserver.com.Но при авторизации гребаный saslauthd делал запрос в базу типа select ********** where username = 'rusua' ! Теперь то понятно почему аутентификация не проходила! Такого то юзера в базе нет! А запрос должен быть таким select ********** where username = 'rusua@myserver.com' ! Перелопатив инет,я нашел что для того,что бы демон saslauthd не обрезал домен от логина,надо запустить его с параметром -r. Это то и решило все мои беды.Вот только чего стоило прописать этот параметр...Ну а теперь перейду непосредственно к описаниям пошагово...

[/TL;DR] More »

%d такие блоггеры, как: