Мы — долго запрягаем, быстро ездим, и сильно тормозим.
|
||||||||||||||||||||||||||
www.lissyara.su
—> статьи
—> FreeBSD
|
|
Если у вас уже стояла связка apache+php+mysql то можете переходить к следующему абзацу. Если нет, то теперь надо определиться, на каком хосте будет стоять MySQL - на этом же, или на другом, ибо поставился только клиент, а не сервер. Если на этом то ставим из портов на нём, если на другом, то на другом. По дефолту клиент поставлся от MySQL 4.1, соответсвенно и сервер надо ставить такой же. Если хотите другой - то надо заранее поставить сервер с клиентом нужной версии и прописать в /etc/make.conf такую строку:
|
Итак, ставим MySQL нужной версии:
|
Если есть необходимость в каких-то опциях, то их можно задать из командной строки, как аргументы запуска команд make и make install, но это не есть правильно, ибо при обновлении при помощи программы portupgrade это потеряется (сам влетел, собрал с кодировкой и коллатион cp1251, а после обновления клиента получил знаки вопроса вместо русских букв), правильно - добавить в файл /etс/make.conf примерно такую секцию:
|
Ну и соответственно в ней добавить нужные опции сборки. После сборки меняем пассворд рута, добавляем нужного пользователя и создаём таблицы в БД по прилагаемым дампам (вообще можно создать родные от postfixadmin, по дампу идущему в комплекте с ним, но там юзер другой... мне это не понравилось :))
Итак, будем запускать всё это хозяйство:
|
Вообще, рекомендую поставить phpMyAdmin из портов, будет чуть попроще с БД ковыряться. И создаём таблицы в БД по прилагаемому дампу:
|
Вообще настройки самого postfixadmin - минимально отличаются от стандартных - пароль сделан в открытом виде, да и всё (в файле config.inc.php). Ему и недосуг что админит он вовсе и не постфикс :). Также советую запаролить его, с помощью .htaccess например... После создания БД, таблиц в ней, юзера можно ставить dovecot:
|
Лезет синенькое окошко, где выбираем то, что нам нужно.
|
После установки топаем рихтовать конфиг:
|
До такого состояния:
|
После чего в этой же директории создаём файл dovecot-sql.conf с таким содержанием:
|
И пробуем запустить его:
|
Можно добавлять в админке пользователей, и пробовать зайти. Конечно, почтой ещё и не пахнет, но папочки посоздавать можно :)
Затем добавляем кое-какие строчки в /etc/make.conf для сборки и дальнейшей пересборки экзима с нужными нам параметрами:
|
И устанавливаем exim:
|
После установки проверяем сендмайловую строку в /etc/rc.conf, должно быть так:
|
Также надо подправить файл /etc/mail/mailer.conf до такого состояния:
|
После чего приводим конфиг exim к такому виду:
|
По окончании конфигурения экзима ставим ClamAV (вообще-то exim уже можно запускать ибо почта идущая с локалхоста на вирусы не проверяется и потому прекрасно будет уходить и раскладываться в директории. Но - снаружи ничё не отправить)
|
Все опции я оставил по-дефолту (не выбрал ни одной - ибо по-умолчанию они все пустые)/ После установки добавляем строку в /etc/rc.conf и запускаем exim, предварительно прибив sendmail, также запускаем и обновляем clamav:
|
Также неплохобы воткнуть строку про обновление антивирусных баз в рутовый планировщик - пару раз в сутки. Теперь можно создавать виртуальные домены и ящики. Ну, и после этого пробуем отправить письмо:
May 31 11:02:56 bsd-6-1 exim[26788]: 2006-05-31 11:02:56 exim 4.62 daemon started: pid=26788, -q30m, listening for SMTP on port 25 (IPv4) May 31 11:03:05 bsd-6-1 dovecot: IMAP(lissyara@test-1.su): Disconnected in IDLE May 31 11:03:05 bsd-6-1 dovecot: imap-login: Login: user=<lissyara@test-1.su>, method=PLAIN, rip=192.168.20.141, lip=192.168.20.100 May 31 11:03:20 bsd-6-1 exim[26792]: 2006-05-31 11:03:20 1FlKjg-0006y8-7w <= lissyara@test-1.su H=(lissyara) [192.168.20.141] I=[192.168.20.100]:25 P=esmtpa A=auth_login:lissyara@test-1.su S=755 id=001701c68480$3d744c30$8d08a8c0@derzhava.ru from <lissyara@test-1.su> for liss@test-1.su May 31 11:03:20 bsd-6-1 dovecot: imap-login: Login: user=<lissyara@test-1.su>, method=PLAIN, rip=192.168.20.141, lip=192.168.20.100 May 31 11:03:20 bsd-6-1 exim[26793]: 2006-05-31 11:03:20 1FlKjg-0006y8-7w => liss <liss@test-1.su> R=dovecot_user T=dovecot_delivery May 31 11:03:20 bsd-6-1 exim[26793]: 2006-05-31 11:03:20 1FlKjg-0006y8-7w Completed May 31 11:03:20 bsd-6-1 dovecot: IMAP(lissyara@test-1.su): Disconnected: Logged out |
Всё нормально. Почта ходит.
Выводы: Сам dovecot мне оччень понравился, есть только два НО.
1. С ним в комплекте должна идти утилита delivery - она занимается доставкой почты в ящики пользователей. Её нет... Почему - непонятно. Поэтому пришлось раскладывать самим экзимом.
2. Trash (Корзина, или удалённые) - не работает... Написано что оно в тестовм режиме, да к тому же похоже что под формат mailbox а я юзаю maildir....
P.S. Разобрался с плагином trash - смысл такой - если у юзера приходит сообщение и получается оверквота - то удаляются мессаги из указанных в конфиге директорий, в указанном порядке. Выглядит примерно так:
/usr/local/etc/dovecot.conf
|
/usr/local/etc/dovecot-trash.conf
|
Т.е. вначале удаляются из папки Spam, потом из Trash и т.д.
Короче, на мой взгляд, абсолютно бесполезная фича... Лучшеб нормальную папку "Удалённые" привернули, которая на стороне сервера, а не клиента...
P.S.2 Вылезли такие грабли - на новых MySQL (я на 5-м столкнулся) бывает что после установки такая ругань в логах:
Jul 5 00:09:21 lissyara dovecot: auth-worker(default): mysql: Connect failed to localhost (dovecot): Доступ закры т для пользователя 'exim'@'localhost' (был использован пароль: ДА) - waiting for 1 seconds before retry |
Причём ругань абсолютно необоснованная - пароль и пользователь верные. Лечится таким, примерно запросом:
|
Соответственно в нём подставить свои данные...
размещено: 2006-05-31,
последнее обновление: 2010-11-24,
автор: lissyara
Urgor, 2006-06-14 в 8:39:22
Ну Лисяра! Ну матерый человечище! Признаюсь едва дочитал до конца, а как представлю сколько времени ты на написание потратил — страшно делается. Респект тебе огромный! Я как раз сам пытался разобраться, а тут такая статья! :)
Urgor, 2006-06-16 в 16:39:25
Я убью тебя, лодочник.
"user_query = SELECT `maildir` AS `home`, 26 AS `uid`, 26 AS `gid` FROM `mailbox` WHERE `username` = '%n@%d' AND `active`='1'", т.е. uid всегда будет 26! А dovecot на это говорит: "Logins with UID 26 (user admin@test.ru) not permitted (see first_valid_uid in config file)"
lissyara, 2006-06-16 в 17:19:40
==========================
# Действительный диапазон UID для пользователей, дефолт от 500 и выше. Это
# необходимо для того, чтобы пользователи не смогли залогиниться как
# демоны или какие-либо системные пользователи. Запрет для логина `root`а
# жёстко забит в код `dovecot`а и не может быть разрешён даже если
# установить 'first_valid_uid' = 0.
first_valid_uid = 25
#last_valid_uid = 0
=========================
не умничаем, а делаем копи-пасте всего конфига :)))
P.S. Конечно, наверно это не совсем правильно, может даже совсем неправильно от этого UID делать... Но я так привык :(
Urgor, 2006-06-19 в 7:57:54
Лис, бля буду, так и делал, тока в начале адреса поменял... После того как завел юзера с UID=501, и first_valid_uid = 500... кот запустился, естессно ексим перевел под этого же юзера. странно. может это из-за винбинда? но у не го уиды старше 10000... Надо на нулевой машине попробовать будет.
Да, есть еще один коcячек. Почта падала в папку /var/mail/user@domain/ а забирать он пытался из /var/mail/user@domain/new (и говорил что писем нет), пришлось поправить папку на:
directory = /var/mail/exim/${lookup mysql{SELECT \
`maildir` FROM `mailbox` WHERE `username` \
= '${quote_mysql:$local_part@$domain}'}}new/
john, 2006-07-19 в 17:35:06
У меня проблема! Все сделал по вышим конфигамю. все запустилось без ошыбок, но при авторизации, dovecot выдает грабли!
Вот лог
dovecot: auth-worker(default): sql(john,10.100.1.100): query: SELECT `username` as `user`, `password` FROM `mailbox` WHERE `username` = 'john@' AND `active`='1'
mail1 dovecot: auth(default): client in: AUTH 1 PLAIN service=POP3 lip=10.100.1.105 rip=10.100.1.100 resp=AGpvaG4AMTIz
dovecot: auth-worker(default): sql(john,10.100.1.100): unknown user
dovecot: auth(default): client out: FAIL 1 user=john
dovecot: pop3-login: Disconnected: user=<john>, method=PLAIN, rip=10.100.1.100, lip=10.100.1.105
По этому логу я понял что переменная %d не содержит тот домен с который содержиться в адресе а должно бы писаться
dovecot: auth-worker(default): sql(john,10.100.1.100): query: SELECT `username` as `user`, `password` FROM `mailbox` WHERE `username` = 'john@xxx.com' AND `active`='1'
Yanis.sql.ru, 2006-08-04 в 22:21:22
После установки postfixadmin не работал, на новый создаваемый домен ругался, что Домен уже существует, я добавил домен напрямую в БД, но он не мог его нормально открыть даже на редактирование, также не мог создать пользователя - ругался на пустой пароль и уже существующего пользоваетеля с таким именем.
Вылечилось установкой magic_quotes_gps = On в php.ini
razor, 2006-08-15 в 17:56:32
" но это не есть правильно, ибо при обновлении при помощи программы portupgrade это потеряется (сам влетел, собрал с кодировкой и коллатион cp1251, а после обновления клиента получил знаки вопроса вместо русских букв), правильно - добавить в файл /etс/make.conf примерно такую секцию:"
а почему б не юзать специальный для этого файлик /usr/local/etc/pkgtools.conf ?
vendigo, 2006-09-01 в 16:01:54
При запуске довекота столкнулся с такими граблями :
auth-worker(default): mysql: Connect failed to localhost (exim):Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) - waiting for 1 second before retry
причем не лечится путем запроса SET PASSWORD FOR 'exim'@'localhost' = OLD_PASSWORD('exim');
Юрий, 2006-10-12 в 14:32:24
Я делал по похожой статье и по своим мыслям , все вроде ОК , только проблема в dovecot .. спасате мужики !!
unix# cat /usr/local/etc/dovecot.conf
## Dovecot configuration file
base_dir = /var/run/dovecot/
protocols = pop3
disable_plaintext_auth = no
ssl_disable = yes
login_dir = /var/run/dovecot/login
login_chroot = yes
login_user = dovecot
login_process_size = 64
login_greeting = Hello there!
login_log_format_elements = user=<%u> method=%m rip=%r lip=%l %c
login_log_format = %$: %s
default_mail_env = maildir:/var/spool/mail/tradehouse.local/%n/Maildir
mail_extra_groups = mail
# mail_debug = yes
mail_log_prefix = "%Us(%u): "
verbose_proctitle = yes
first_valid_uid = 1000
first_valid_gid = 0
protocol pop3 {
login_executable = /usr/local/libexec/dovecot/pop3-login
mail_executable = /usr/local/libexec/dovecot/pop3
pop3_uidl_format = %08Xu%08Xv
pop3_logout_format = top=%t/%p, retr=%r/%b, del=%d/%m, size=%s
pop3_client_workarounds = outlook-no-nuls oe-ns-eoh
}
auth_executable = /usr/local/libexec/dovecot/dovecot-auth
auth_process_size = 256
auth_verbose = yes
#auth_debug = yes
#auth_debug_passwords = yes
auth default {
mechanisms = plain
passdb passwd {
}
passdb sql {
args = /usr/local/etc/dovecot-sql.conf
}
userdb passwd {
}
userdb sql {
args = /usr/local/etc/dovecot-sql.conf
}
}
unix#
unix# cat /usr/local/etc/dovecot-sql.conf
driver = mysql
connect = host=localhost dbname=maildb user=sqlmail password=dolphin.hfijcnrf
default_pass_scheme = PLAIN
password_query = SELECT clear_pw AS password FROM users WHERE username = '%n'
user_query = SELECT maildir AS home, 1981 AS uid, 1981 AS gid FROM users WHERE username = '%n'
Выдает ошибку при telnet localhost 110
unix# telnet localhost 110
Trying ::1...
telnet: connect to address ::1: Connection refused
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
+OK Hello there!
user dolphin
+OK
pass .hfijcnrf
+OK Logged in.
-ERR No INBOX for user.
Connection closed by foreign host.
ЛОГ
Oct 12 13:31:43 unix dovecot: auth(default): passwd(dolphin,127.0.0.1): password mismatch
Oct 12 13:31:43 unix dovecot: pop3-login: Login: user=<dolphin>, method=PLAIN, rip=127.0.0.1, lip=127.0.0.1, secured
Oct 12 13:31:43 unix dovecot: POP3(dolphin): lstat(/var/spool/mail/tradehouse.local/dolphin/Maildir/cur) failed: Permission denied
Oct 12 13:31:43 unix dovecot: POP3(dolphin): lstat(/var/spool/mail/tradehouse.local/dolphin/Maildir/cur) failed: Permission denied
Oct 12 13:31:43 unix dovecot: POP3(dolphin): Couldn't open INBOX: Internal error occurred. Refer to server log for more information. [2006-10-12 13:31:43]
Oct 12 13:31:43 unix dovecot: POP3(dolphin): No INBOX for user top=0/0, retr=0/0, del=0/0, size=0
unaos, 2006-10-25 в 16:22:01
john, получилось разрулить с пустым доменом ?
tiger, 2006-11-30 в 21:43:23
замечание по поводу PHP. я сам использую 4ый. не поленился и посмотрел на 5ый (в портах). там кстати тоже по дефолту стоит APACHE "Build Apache module" off
Видимо дело не в желании перегнать на 5ую ветку, это какие личные соображения мейнтейнера
кроме того неясны причины отключения SSL. неужели он есть просит если присутствует?:)
Это так, по диагонали читал, в целом респект тебе lissyara
Daemony, 2006-12-10 в 16:26:55
Есть одно замечание:
В dovecot-sgl.conf используется тип авторизации PLAIN.
В /usr/local/www/postfixadmin/config.inc.php стоит по умолчанию
$CONF['encrypt'] = 'md5crypt';
Так вот, с такой постановой, при добавлении пользователей через веб-интерфейс, нифига работать не будет - Dovecot ругается на ошибки авторизации. У меня по крайней мере не заработало (ковырялся два часа :( ....)
а в логах одна хрень:
dovecot: pop3-login: Disconnected: user=<admin@myhost.org>, method=PLAIN, rip=bla.bla.bla.bla, lip=bla.bla.bla.bla, TLS
Проблема решилась так:
Нужно исправить postfixadmin/config.inc.php:
$CONF['encrypt'] = 'cleartext';
Правда в этом случае в MySQL пароли будут лежать в чистом виде, а нас это конечно не устраивает:
Поэтому в dovecot-sgl.conf пишем
default_pass_scheme = MD5
Авторизация проходит. Пароль пользователя в базе лежит в виде md5 хеша.
------------------
А вообще Lissyara спасибо тебе большое за труд.
Давно искал нормальный перевод конфига dovecot. Нашел его на твоем сайте. :)
Сергей, 2007-01-20 в 20:39:00
squirrelmail + subj кто-нить ставил?
у меня лично получается полная чушь
то есть не могу создать папку, в которой могут быть подпапки
точнее могу при использовании outlook... а вот squirrelmail обламывается :(
SGI, 2007-02-27 в 17:09:09
Ура!! Это первая статья, после которой я решился-таки попробовать Exim. Предыдущие пугали обилием непонятных настроек, а тут все разжевано. Собственно, была еще одна причина перехода - с новым ClamAV перестал работать скрипт проверки из-под Постфикса. Сейчас все ок. Все-таки Постфикс в части сопряжения с антивирусами кривоват. Перевел на Экзим два сервера - один с практически таким же конфигом (mysql, dovecot), второй - шлюз для Exchange. SpamAssassin отключил нафиК в обоих случаях :-) Посмотрю, сколько будет проходить спама, если что - dspam еще прикручу. СПАСИБО!!!
Ilya98, 2007-03-04 в 15:52:35
Уважаемый Лисяра!
Эта информация является не Вашей, а в том числе добытой из Инета! Да она собрана Вами по кускам, отлично обработана,
но не авторская :)
например, форум Ginger
http://forum.ru-board.com/topic.cgi?forum=8&topic=4514&start=400
в том числе решение
SET PASSWORD FOR 'some_user'@'some_host' = OLD_PASSWORD('mypass');
А посему Ваше предложение (см. внизу и этой страницы) не совсем корректно :)
"Только условие простое — извольте подписывать автора, и оставлять линк на оригинальную страницу, откуда взяли."
Ilya98
Ilya98, 2007-03-04 в 15:58:58
В любом случае, за проделланную Вами работу огромное спасибо!
Иметь такой подстрочник очень приятно.
Иногда просто нет сил его вести, а тут .... Да еще с русскими комментами.
lissyara, 2007-03-04 в 16:26:06
Клёво... Спасибо конечно, но при таком подходе, ничто кроме написанного авторами программ не является авторским.
P.S. Информация об OLD_PASSWORD тоже не является вашей авторской, корректней было бы указать линк на документацию MySQL, а не ваш пост на форуме :))
===============
Ну и я всё же не понял претензий.
Не нравиться перевод конфигов? Переведи сам - лучше.
Не нравиться статья? Напиши сам - лучше.
Ещё что-то не нравиться? Ответ ты уже знаешь :)
Ilya98, 2007-03-05 в 15:34:36
1)В посте на форуме лежит, в том числе, ссылка на доку мускула :)
2)Претензий к содержимому нет, есть спасибо
IMHO. "Ничто кроме написанного авторами программ не является авторским"
lissyara, 2007-03-05 в 16:19:51
Конценсус :)))
Ilya98, 2007-03-05 в 22:55:54
Советую все же убрать приписку снизу. Т.к. Вы нарушаете GNU Free Documentation License.
Почитать об это подробнее можно здесь:
http://ru.wikipedia.org/wiki/GNU_Free_Documentation_License
lissyara, 2007-03-05 в 23:54:56
Вы уж извините, но ваш любимый форум, и те кто его поддерживают - они не нарушают никаких лицензий, тупо делая Сtrl+С и Ctrl+V со статей?
Ну ладно, что скопировал.
Ну ладно, что вместе с комментами, не отделив от текста.
Но какого ху... себя автором подписывать?
И потом не отвечать ни на письма, ни на формы обратной связи. Пока не пошёл на форум и прямо не спросил про воровство - никто не часался.
Зато после этого быстро удалили статьи и заодно мой аккаунт на форуме, видно, чтобы не смущал честных посетителей. Я ещё два раза регался чтобы высказать своё мнение - цивильно, без мата. Оба раза топики тут же удалялись, вместе с моей учёткой.
Я буду приписывать что угодно, и где считаю нужным, пока в инете не переведутся такие уроды.
А значит - всегда.
P.S. По правилам Русского Языка, слово 'вы' пишется с маленькой буквы. Иначе - это грамматическая ошибка :) (Просто вспомнилось - не в укор :). И вообще, всё вышесказанное относиться не к вам, а к первому линку.)
lissyara, 2007-03-06 в 0:05:45
Кстати, про документацию и прочий свободный софт - очень сложный вопрос как толковать документы типа моих мануалов - они или производные от собранного материала, или же что-то придуманное мною (тот же постфиксадмин никто вроде до меня не крутил к exim). Да и ушёл я довольно далеко от исходного конфига Ginger (Кстати - в одной из первых статей указано, что начинал с ёе конфига).
Короче вопрос спорный, но во избежание воровства, из-за которого это и появилось (опять же - сравнительно недавно, когда стали передирать прям вместе с меню сайта, тупо сохраняя HTML - благо графики у меня принципиально нет), оставлю как есть.
P.S. Больная мозоль: Вышеупомянутый же сайт требовал обязательного согласия автора на перепечатку (это моей же статьи!!). Так что хватит пустого спору...
Аноним, 2007-03-06 в 13:58:04
В тысячный раз повторяю, РОССИЯНЕ, не идите на поводу у ПИНДОСИИ и её ДЕНЕГ. Нет там более ничего и небыло никогда.
Хочу предоставить лиц. Microsoft для windows/office и т.п. для России? Интересно? Смысл в следующем:
1. Есть факт покупки легально приобретённого Windows.
2. Есть наклеенный сертификат
3. Ключ на сертификате совпадает с установленным в системе.
ВСЁ. Никаких 500 миллонов видов лицензий. :-) Зачем идти на поводу у ПИНДОСИИ? Деньги, деньги. Они нужны не всем и не в таком количестве, которое навязывают.
Для Ильи посоветую адаптироваться не в сторону денег(пиндосии), а стать нормальным человеком без тараканов в голове.
И смысл поста мне несовсем понятен, если что-то помогает, интересно,то пусть буржуи переживают. Хватило бы ума РОССИИ вступить в ВТО и забить на авторские права(авторское бабло).
Хотите денег? Почитайте этого автора (Дмитрий Неведимов - Религия денег) и посмотрите, как на воздухе делают деньги
P.S. Если вам уже навязали что-то (будь то авторские права и т.п.), не значит кчто это круто, правильно и вообще необходимо. Просвещайтесь.
Ilya98, 2007-03-07 в 11:56:02
Это тянет на +++.
Но не смог сдержаться. Извини, Лисяра!
1) Вы с Большой буквы, как признак уважения :) писать Надо с Большой Буквы :) Это тоже по правилам русского языка :)
2) Аноном заткнись - ты не в теме. Прочитай содержимое по ссылке.
3) © имя (наименование) автора или иного правообладателя, год первого
опубликования документа
Каждый имеет право воспроизводить, распространять и/или вносить изменения в
настоящий Документ в соответствии с условиями GNU Free Documentation License,
Версией 1.2 или любой более поздней версией, опубликованной Free Software
Foundation;
данный Документ не содержит Неизменяемых разделов, не содержит
Текста, помещаемого на первой странице обложки и не содежит Текста,
помещаемого на последней страницы обложки.
Копия лицензионного соглашения включена в секцию, озаглавленную "GNU
Free Documentation License".
Так было бы честнее, да и правильнее.
Gruber, 2007-04-26 в 15:38:50
Небольшая поправочка:
Daemony писал -
Поэтому в dovecot-sgl.conf пишем
default_pass_scheme = MD5
в новой версии dovecot нужно писать MD5-CRYPT
иначе ошибка остаётся
ALex_hha, 2007-04-26 в 18:29:36
Имхо, болле правильно запретить использовать plain text based методы аутентификации, если клиент не использует SSL/TLS. К счастью dovecot позволяет это. И не заморачиваться с шифрованием самих паролей в базе.
playnet, 2007-05-14 в 12:57:38
>По правилам Русского Языка, слово 'вы' пишется с маленькой буквы. Иначе - это грамматическая ошибка :)
"Вы" пишется с большой при обращении к конкретному человеку, признак уважения. "вы" с маленькой, когда обращение к группе лиц. И о каких ошибка ты говоришь, если сам писать не умеешь...
"И вообще, всё вышесказанное относиться не к вам, а к первому линку"
В данном случае получается "относИться", ибо мягкий знак говорит о том, что это неопределенная форма. (что делаТЬ) относиТЬся, (что делаеТ) относиТся.
И поправь плиз все подобные слова в тексте. Статьи хорошие, но твоя безграмотность просто поражает.
Хоть в ворд загружай перед вставкой, он тебе выделит ошибки.
И почисти уже комменты, перепалка про лицензии явный оффтоп.
lissyara, 2007-05-14 в 13:42:03
перепалку не уберу, а вот ошибки поправлю.
а ворда у меня нет :)
lissyara$ uname -v
FreeBSD 7.0-CURRENT #0: Tue May 8 08:57:57 MSD 2007
playnet, 2007-05-15 в 22:49:33
Хы, первый автор, который не трет неугодные комменты, а нормально отвечает...
респект!
(оффтоп) у одного знакомого ОО стоял с проверкой грамматики...
Хотя я сам админ, и могу сказать: на рабочей машине фря — изврат. Для себя я выбрал генту, как вменяемый вариант pcBSD и подобные.
playnet, 2007-05-15 в 23:57:01
кстати, хорошая подборка факов по exim..
http://forum.ru-board.com/topic.cgi?forum=8&topic=4514&start=0
okkay, 2007-05-16 в 6:56:51
поставил exim и dovecot по статье,
как мне создавать почтовые аккаунты?
и что такое вообще: `goto` text NOT NULL - в таблице alias. Так как в ../exim/configure именно это поле goto участвует в выборке.
Создал пользователя таким образом:
insert into mailbox (username,password,name,quota,domain) values ('pupkin','pup'),'vasya',1024,'mydomain.ru'); - после чего в /var/mail/exim - ничего не создалось. Куда рыть?(пока во время испытаний использую plain аутентификацию)
Потом в рабочей станции в клиенте The Bat! создал почтовый ящик, прописал все настройки.
Жму: получить и доставить почту...
16.05.2007, 11:42:46: FETCH - Соединение с POP3 сервером прошло удачно
!16.05.2007, 11:42:48: FETCH - Сервер сообщает об ошибке: -ERR Authentication failed.
куда рыть?
спасибо за ответы
lissyara, 2007-05-16 в 8:58:19
2 playnet
я тоже тру. Когда с матом - бывает у человека что-то не получается, он в камментах такие перлы оставляет, что даже я, после 2 лет службы в стройбате, такого не слышал :))
А если идёт диалог - не вижу смысла тереть. Иначе нить потеряется :)
2 okkay
поставь админку. Там все таблицы взимосвязаны. Заодно про роутеры почитай и конфиг посмотри в их же части - много вопросов сами пропадут.
Mi©k, 2007-05-24 в 16:30:35
Рацпредложение
два правила
# Рубаем нах, тех, кто подставляет свой IP в HELO
# Рубаем тех, кто в HELO пихает мой IP (2500 мудаков за месяц!)
заменяем одним
# Рубаем тех, кто в HELO пихает IP (
deny message = Not accepted - IP as HELO
hosts = !127.0.0.1 : !192.168.1.0/24
condition = ${if isip {$sender_helo_name}}
reLax, 2007-05-26 в 11:05:19
Ошибка в авторизации в SQL запросе. Надо так:
auth_plain:
driver = plaintext
public_name = PLAIN
server_condition = ${lookup mysql{SELECT `username` FROM \
`mailbox` WHERE `username` = \
'${quote_mysql:$2}' AND `password` = \
'${quote_mysql:$3}'}{yes}{no}}
server_prompts = :
server_set_id = $2
lissyara, 2007-05-26 в 13:54:06
Исправил на ещё более корректный вариант - в соответствии с новой документацией (использовать $auth1 вместо $1 и т.д.).
sng, 2007-06-18 в 21:39:03
Спасибо, Лиссяра! Отличный повод для установки exim+dovecot, статья сподвигнула меня установить что-то новое. Только по поводу алиасов. Есть косячок. Если мы заводим в админке алиас с домена на домен @domain1.su -> @domain2.su то данный конфиг у меня не заработал, в логах пишет про отсутствующую local part. Предлагаю заменить на:
# Переадресация для пользователей
user_aliases:
driver = redirect
allow_fail
allow_defer
data = ${lookup mysql{SELECT `goto` FROM `alias` WHERE \
`address`='${quote_mysql:$local_part@$domain}'}{$value}fail}
# Переадресация для доменов и catch-all
domain_aliases:
driver = redirect
allow_fail
allow_defer
data = ${lookup mysql{SELECT `goto` FROM `alias` WHERE \
`address`='${quote_mysql:@$domain}'} \
{${if eq {${local_part:$value}}{}{$local_part$value} \
{$value}}}fail}
Ежели чего - поправьте меня. Уж как смог.
RockerMan, 2007-06-21 в 15:26:29
На всех созданных таблицах phpmyadmin ругается
---
Проблемы с индексами таблицы `admin`
PRIMARY and INDEX keys should not both be set for column `username`
---
Проблемы с индексами таблицы `alias`
PRIMARY and INDEX keys should not both be set for column `address`
---
Проблемы с индексами таблицы `domain`
PRIMARY and INDEX keys should not both be set for column `domain`
---
Проблемы с индексами таблицы `mailbox`
PRIMARY and INDEX keys should not both be set for column `username`
---
Проблемы с индексами таблицы `vacation`
PRIMARY and INDEX keys should not both be set for column `email`
---
Это нормально? Если нет как исправить?
walker, 2007-06-21 в 22:14:22
структура БД далека от совершенства. возможно конечно это связано с вопросами быстродействия. но в данном случае полно избыточной информации и ссылочная целостность реализована не за счет субд а за счет винимательности админа
nk, 2007-07-11 в 11:20:46
при сборке Dovecot выбираем также опцию LDA Local delivery Agent чтоб нормально почта приходила
Раньше её небыло
variantolog, 2007-07-23 в 1:59:30
# Отключить команду LOGIN и все другие plaintext аутентификации если
# SSL/TLS не используется. (совместимо с LOGINDISABLED). Отметтьте, что
# 127.*.*.* и IPv6 ::1 адреса считаются безопасными, и установки этого пункта
# не влияют на соединение с них.
disable_plaintext_auth = no
--------------------------------------------------------
Опечатка. Надо читать: Отключить команду LOGIN и все другие plaintext аутентификации если [b]используется SSL/TLS.
KaMa-CyTpA, 2007-07-26 в 20:38:10
Ловите "грабли" постфиксадмина:
function.inc.php редактируем:
В самом конце перед >? пишем строку
db_connect();
именно так - и никак иначе.
backup.php редактируем:
$path = "/tmp/"; - фиг там!
Он должен быть
$path = "/var/tmp/";
И ещё одна вещь. В файле function.inc.php перед строкой 131 (именно прямо перед ней!) добавляем пустую строку и в ней тоже пишем
db_connect();
mars, 2007-07-27 в 9:50:36
И ещё одна вещь. В файле function.inc.php перед строкой 131 (именно прямо перед ней!) добавляем пустую строку и в ней тоже пишем
db_connect();
мне хватило этого
по крайней мере пока что ;)
Yura, 2007-08-06 в 22:38:57
Так и не заработала отправка локальным хостам через dovecot_delivery, пишит deliver(test@ultrax.lan): Failed to create storage for 'test@ultrax.lan' with mail 'mbox:test@ultrax.lan//mail/:INBOX=/var/mail/test@ultrax.lan'. Ну и фиг с ним! Подредактировал штатный local_delivery и все работает на ура!
redbaron, 2007-08-09 в 7:02:00
Что-то я не понял один момент - а где создаются сами почтовые ящики под каждого пользователя? Их delivery должен создавать?
sergey, 2007-08-10 в 0:40:14
#!/bin/sh
# моя конфига экзма. Будь проклят тот день,
# когда мне пришла в голову мысль подписать
# русские поясния ко всем пунктам! :) Хоть и
# делал я это в первую очередь для себя -
# чтоб лучше понять его, но работа эта оказалась
# слишком масштабная и неблагодарная...
по мимо спасибо за проделанную работу, предлагаю автору сайта "пиво", если будет встреча лично проставляюсь....спасибо
guest, 2007-08-10 в 1:27:03
у меня в бд пассы лежат в мд5, как сделать чтобы dovecot их считывал от туда и авторизовывал юзеров?
Yura, 2007-08-10 в 22:48:58
2 redbaron:
Их Dovecot создает
dodger, 2007-09-28 в 11:23:55
1. Вообще не советую применять авторизацию по SMTP! Потому что юзеры пользуются MS-Win, в котором червяки появляются ооооочень часто. А червяки последнее время пишутся за бабки, и финансирует программирующих этих животных - угадайте кто? Насколько быстро один из паролей попадет к спаммерам - вопрос времени и количества аккаунтов (по прошествии этого времени, вы - открытый релей).
2. Чтобы не попасть в списки rfc-ignorant очень рекомендую поправить сей конфиг! В частности это касается HELO с IP адресом (Лиссяра сделал правильно, а вот участнику Mi©k я советую читать RFC), почты user@[IP.add.re.ss] и фильтрации писем на postmaster@dom.ain.
3. Изучите политику RBL перед тем как использоватье его! Особенно это касается таких списков, как bl.csma.biz.
Вроде все. Если я не прав - пишите на мыло, а то может и мои знания уже устарели (BTW, все это - опыт работы в ISP).
Al, 2007-10-05 в 16:48:34
если в постфиксадмине при добавлении ящика говорит "неверное имя", то проверку мона отключить так:
/usr/local/www/postfixadmin/functions.inc.php
в функции function check_email ($email) заменить false на true. т.е. всегда правильно
AL, 2007-10-05 в 16:53:58
В postfixadmin правил templates/header.tpl на предмет charset в <head>. Я поставил 1251. Все по русски, никуда кодировка не уезжает.
С меню боролся отключением padding в stylesheet.css для #menu ul li
(автор - sst78rus)
Al, 2007-10-05 в 17:26:05
если ругается на /usr/local/libexec/dovecot/deliver, то ищем
local_delivery: в дефолтовом конфе и заменяем метод локальной доставки.Не забывая его при этом не только подставить,но и описать.
Al, 2007-10-05 в 18:55:17
если ругается на /usr/local/libexec/dovecot/deliver, то ниче не ищем, а пересобираем dovecot:
make deinstall,make clean, make config, make all ,make install
в окне выбираем LDA
Al, 2007-10-08 в 15:56:52
если postfixadmin не добавляет пароль в базу (у меня пароль в !открытом! виде),то в /usr/local/www/postfixadmin/admin/create-mailbox.php - ищем строку "$password = pacrypt ($fPassword);" и меняем ее на "$password = $fPassword ;" этим мы убрали шифрование
Al, 2007-10-11 в 15:39:28
Если надо сделать автоответ(напр,когда сотрудник в отпуске) в конф exim дописываем:
## роутер автоответов
userautoreply:
driver = accept
condition = ${if eq{} {${lookup mysql{SELECT `recipient` FROM `autoreply` \
WHERE `recipient`='$local_part@$domain'}}}{no}{yes}}
transport = userautoreply
unseen
и
## транспорт для автоответов(не рекошет)
userautoreply:
driver = autoreply
headers = "Content-Type: text/plain; charset=windows-1251"
to = ${sender_address}
from = ${local_part}@${domain}
subject = "Re: $h_subject"
text = "testing user_autoreply"
в соотв. секции конфига
таблица SQL
CREATE TABLE `autoreply` (
`id` int(100) NOT NULL auto_increment,
`recipient` varchar(50) NOT NULL default '',
`subj` varchar(50) character set koi8r NOT NULL default '',
`message` varchar(50) character set koi8r collate koi8r_bin NOT NULL default '',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=29 ;
также можно брать текст и тему из автоответа из SQL
http://forum.lissyara.su/viewtopic.php?f=20&t=2134&p=13274&hilit=autoreply#p13274
Al, 2007-10-30 в 11:59:48
если в постфиксадмине хотим шифровать пароли-убираем коменты с $CONF['encrypt'] = 'md5crypt'; в /usr/local/www/postfixadmin/config.inc.php
deonisiy, 2007-11-06 в 18:42:57
При попытке запуска Dovecot, вываливается ошибка
/usr/local/etc/rc.d/dovecot start
Starting dovecot.
Error: Error in configuration file /usr/local/etc/dovecot.conf line 821: Unknown section type (section changed at line 821)
Fatal: Invalid configuration in /usr/local/etc/dovecot.conf
В этой стоке есть параметр: passdb sql
идеи?
friman, 2007-11-08 в 15:02:36
>С меню боролся отключением padding в stylesheet.css для >#menu ul li
Лучше имхо так - если вы выбрали русский язык, то придется немного подправить файл
/usr/local/www/postfixadmin/templates/admin_menu.tpl, т.к. иначе меню налезают друг на друга.
После строки
<li><a target="_top" href="backup.php"><?php print $PALANG['pAdminMenu_backup']; ?></a></li>
добавить следующее
<br><br><br><br>
P.S. По ошибкам в форум.
Al, 2007-11-08 в 15:10:45
>В этой стоке есть параметр: passdb sql
>идеи?
у меня так:
passdb sql {
args = /usr/local/etc/dovecot-sql.conf
}
ну а dovecot-sql.conf - практически из статьи
AlkoGekS, 2007-11-13 в 14:49:31
Лис, добавил бы еще про пересылку почты, а то две статьи построчно сравнивать жестоко :)
# system filter
# А тут у начальства заскок - желание контролировать всё.
# Вот и пришлось сделать копию всей почты.
# Вот тока в IT отделе, как выяснилось, никто никому не пишет :)
system_filter = /usr/local/etc/exim/copy_mail.conf
CREATE TABLE `alias` (
`address` varchar(255) NOT NULL default '',
`goto` text NOT NULL,
`domain` varchar(255) NOT NULL default '',
`created` datetime NOT NULL default '0000-00-00 00:00:00',
`modified` datetime NOT NULL default '0000-00-00 00:00:00',
`active` tinyint(1) NOT NULL default '1',
`copy_mail` int(1) NOT NULL default '1',
PRIMARY KEY (`address`),
KEY `address` (`address`)
) TYPE=MyISAM COMMENT='Exim and Dovecot Admin - Virtual Aliases';
Schax, 2007-11-20 в 13:21:37
Когда переменная %d пустая нужно установить домен по умолчанию (у меня один домен)
auth_default_realm = domain.com.ua
и все работает
MAPTbIH, 2007-11-23 в 23:33:19
такая трабла у начальства заскок такой же как у начальства AlkoGekS, вот тока касается он только пары отделов, хотелось бы сделать чтоб мыло пересылалось или копировалось только с определенных боксов, а когда создаешь alias матюгается что такой бокс уже есть.
как решить траблу может кто вкурсе? был бы признателен за помощь.
Voldimar, 2007-11-25 в 10:35:22
В таблице alias есть поле copy_mail, как у AlkoGekS.
А дальше роутер:
begin routers
always_bcc:
driver = redirect
condition = ${lookup mysql{SELECT min(`copy_mail`) FROM `alias` WHERE \
`address`='${quote_mysql:$local_part@$domain}' or `address`='${quote_mysql:$sender_address}'}}
data = always_bcc@amstor.ua
unseen
Все.
Сергей, 2007-12-01 в 19:38:18
Спасибо огромное!
sst78rus, 2007-12-19 в 11:57:47
Переставлял связку заново и нашел причину того, что в postfixadmin русские буевы кракозябрами. Там просто не определена переменная в ru.lang
Надо в файл languages/ru.lang добавить переменную:
$PALANG['charset'] = 'cp1251';
Правильно кодировка может по другому называется, но у меня сработало и так.
Sergey, 2008-01-07 в 3:21:53
Спасибо за статью. Есть два вопроса
1. Если письмо отправлено на несуществующий почтовый ящик причем с +local_domains в логах все же пишет Unrouteable address, и письмо замораживает, как сделать чтобы ответ писался что мол такого ящика нет.
2.Не могу отправить почту наружу"
2008-01-07 03:18:04 1JBfgq-0001pY-Ph == XXXX@mail.ru R=dnslookup T=remote_smtp defer (-46): SMTP error from remote mail server after end of data: host mxs.mail.ru [194.67.23.20]: 421 Please try again later
врядли у mail.ru трабла
Corwin, 2008-01-13 в 12:50:08
Я думаю можно и мне написать. В общем, это касается тех, у кого идёт задержка при отправлении почты. Список (блэк-лист), который представлен в этом конфиге рабочий, однако, однако доступность этих серверов может быть затруднительной. Вероятно сервера загружены или на вашем провайдере глючит DNS. У моего провайдера, к примеру, нет доступа к домену .gov и ещё некоторым. Плюс доступ к некоторым настолько долгий, что почта уходила около минуты, а то и больше. В общем, я попросту убрал один из серверов и почта начала уходить махом, при этом в логах теперь, идёт уведомление о том, что действительно, какие-то письма отбрасываются с помощью этих серверов. При этом мне пришлось переместить записи в конфиге повыше, сразу же после проверки о том, откуда посылается почта (adsl, pool и т д).
jahfar, 2008-02-05 в 11:26:27
Daemony, 2006-12-10 в 16:26:55
Есть одно замечание:
В dovecot-sgl.conf используется тип авторизации PLAIN.
В /usr/local/www/postfixadmin/config.inc.php стоит по умолчанию
$CONF['encrypt'] = 'md5crypt';
Так вот, с такой постановой, при добавлении пользователей через веб-интерфейс, нифига работать не будет - Dovecot ругается на ошибки авторизации. У меня по крайней мере не заработало (ковырялся два часа :( ....)
а в логах одна хрень:
dovecot: pop3-login: Disconnected: user=<admin@myhost.org>, method=PLAIN, rip=bla.bla.bla.bla, lip=bla.bla.bla.bla, TLS
Проблема решилась так:
Нужно исправить postfixadmin/config.inc.php:
$CONF['encrypt'] = 'cleartext';
Правда в этом случае в MySQL пароли будут лежать в чистом виде, а нас это конечно не устраивает:
Поэтому в dovecot-sgl.conf пишем
default_pass_scheme = MD5
Авторизация проходит. Пароль пользователя в базе лежит в виде md5 хеша.
------------------
А вообще Lissyara спасибо тебе большое за труд.
Давно искал нормальный перевод конфига dovecot. Нашел его на твоем сайте. :)
Gruber, 2007-04-26 в 15:38:50
Небольшая поправочка:
Daemony писал -
Поэтому в dovecot-sgl.conf пишем
default_pass_scheme = MD5
в новой версии dovecot нужно писать MD5-CRYPT
иначе ошибка остаётся
В любом случае не проходит, пишет одно и тоже:
dovecot: pop3-login: Disconnected: user=<admin@myhost.org>, method=PLAIN, rip=bla.bla.bla.bla, lip=bla.bla.bla.bla
-=N.K=-, 2008-02-05 в 19:54:54
Ага, всё то хорошо, тока вот Outlook твой md5 вообще не понимает и фиг с него почту почитаешь;) Так что тока cleartext везде:)
jahfar, 2008-02-06 в 15:35:46
всё вроде настроил на тестовой машине,но при отправлении говорит вот что:
Feb 6 14:26:50 test05 exim[39545]: 2008-02-06 14:26:50 H=(pasha) [192.168.xx.xx] sender verify fail for <test@test.com>: Unrouteable address
Feb 6 14:26:50 srv05 exim[39545]: 2008-02-06 14:26:50 H=(pasha) [192.168.xx.xx] F=<test@srv05.lesk.ru> rejected RCPT <test@test.com>: Sender verify failed
в чём заморочка может быть?
Ice, 2008-02-09 в 13:09:23
Респект за статью!
EKrava, 2008-02-13 в 18:50:39
если не поправить в postfixadmin/vacation.php
то оно "немного" корежит таблицу alias
изменяя user@domain.tld на user@domain.tld,user@autoreply.domain.tld
иза чего exim материться.
закомментил UPDATE alias в vacation.php, и все заработало.
ну и в базу vacation message на русском языке ложится уже в покорежном виде после escape_string,
пришлось чуть чуть подравить vacation_autoreply
acation_autoreply:
driver = autoreply
headers = "Content-Transfer-Encoding: base64 \nContent-Type: text/plain; charset=koi8-r \nMIME-Version:1.0"
once = /var/mail/vacation/$local_part@$domain
once_repeat = 2m
user = mail
group = mail
to = ${sender_address}
from = "${local_part}@${domain}"
log = /var/log/exim4/vacation.log
subject = "Auto Reply from ${local_part}@${domain}"
text = ${lookup mysql {SELECT body FROM vacation WHERE email='${quote_mysql:$local_part@$domain}'}{$value}}
===
добавив вот такой вот headers - оно работает.
и в базу руками положить кусок тексту в koi8-r кодированный в base64
тогда письмо получается вполне читабельным, и на русском языке
жаль PHP не владею в достаточной мере, чтоб переписать vacation.php
на предмет того чтоб оно русский текст кодировало в base64, и в таком виде ложило в базу.
omega, 2008-02-19 в 18:56:19
Люди а кто пробовал мигрировать с dbmail на dovecot? и как можно перенести пользователей с тестовой машины на рабочий сервер?
lissyara, 2008-02-19 в 19:37:31
ссылка в этом же разделе
http://www.lissyara.su/?id=1195
кое, 2008-03-04 в 12:21:48
Извеняюсь.. Но как прикрутить postfixadmin к apache?? Что хотя бы устанавливать нужно? Установил php5, apache13 и postfixadmin... но что дальше делать??
HunTeR, 2008-03-05 в 8:44:15
Установи в hhtpd.conf :))
Alias /postfixadmin/ "/usr/local/www/postfixadmin/"
<Directory "/usr/local/www/postfixadmin">
Options Indexes FollowSymlinks MultiViews
AllowOverride AuthConfig
allow from 192.168.0.0/255.255.255.0
deny from all
</Directory>
HunTeR, 2008-03-05 в 8:44:29
Установи в httpd.conf :))
Alias /postfixadmin/ "/usr/local/www/postfixadmin/"
<Directory "/usr/local/www/postfixadmin">
Options Indexes FollowSymlinks MultiViews
AllowOverride AuthConfig
allow from 192.168.0.0/255.255.255.0
deny from all
</Directory>
koe, 2008-03-05 в 19:07:18
HunTeR. Спасибо, все запустилось. Но криво работает, то там то сям... вылезают какие то проблемы. Я так понимаю, без знания MySQL и apache почтовик нормально не поднять. Буду пытаться сростить exim с dovecot без MySQL и прочих довесков.
ashgdw, 2008-03-07 в 12:04:12
Товарищщи! Подскажите, чем dovecot deliver лучше если exim будет сам складывать почту в папочку??? Например таким образом(роутер):
dovecot_user:
driver = appendfile
user = dovecot
group = dovecot
mode = 0600
directory=/home/dovecot/users/${lc:$local_part}/
maildir_format = true
mode_fail_narrower = false
envelope_to_add = true
return_path_add = true
jahfar, 2008-03-11 в 10:35:35
Возможно ли ограничить некоторых пользователей доставко почты только внутри локального домена?
ashgdw, 2008-03-17 в 15:07:07
Насколько необходим кондишн в dovecot_router, если используется dovecot deliver?
Я так понял, что dovecot deliver сам смотрит пользователей в базе и если есть нужный, то складывает почту.. иначе он дает отлуп.. или нет?
VVEBER, 2008-03-25 в 11:49:17
Спасибо, очень полезная статья. Сделал, как описано, немного потоптался по граблям :) и всё заработало )
Morty, 2008-03-27 в 23:24:56
в dovecot-1.0.13 заметил такую вещ - при рестарте довекота пишет : "mail_extra_groups setting was often used insecurely so it is now deprecated, use mail_access_groups or mail_privileged_group instead" Перезапускается, работает, но просит заменить строчку (ссылаясь на безопасность):
mail_extra_groups = mail на
mail_privileged_group = mail
либо
mail_access_groups = mail
MAPTbIH, 2008-03-31 в 10:43:26
товарищи все пашет прекрасно, насчет пересылки вообще сильно заморачиваться не надо, в postfixadmin есть вход для юзеров, так вот там можно зайти и прописать мыло куда переслаться будет, и все.
еще немного не по теме, думаю стоило бы при создании стать на сайте, сразу же созадавать тему на форуме, а в статье отсавлять ссылку, и уже вести обсуждение в форуме.
IMHO так удобнее.
barsykoff, 2008-04-17 в 17:20:53
>Началось всё с того, что подсказали мне MUA с богатыми возможностями
Только, наверное, MDA (Mail Delivery Agent), а не MUA ;)
miful, 2008-05-07 в 8:20:06
в экзиме в статье написано что если пользователь указал лишь имя - то прикрутить ему доменное имя по умолчанию какое то. Однако, когда забираешь через давкеот почту - требует не имя пользователя а полное имя пользователя типа xx@xx.xx а было бы неплохо если так же было и здесь - не указал полное имя пользователя - чтобы до полного имени тоже брало по-умолчанию какое то определенно еимя
miful, 2008-05-16 в 7:25:21
А если несколько доменов, то хранение почты лучше сделать в таком виде
/var/mail/exim/<имя домена>/xxx@<имя домена>
вопрос только как правильно это сделать
cj_nik, 2008-05-30 в 15:27:13
>>
# Убираем собственную временную метку exim`a из логов, её ставит
# сам syslogd - нефига дублировать
syslog_timestamp = no
<<
Ну можно и оставить, если не напрягает двойная дата, в разных форматах и нужна поддержка eximstat.
cj_nik, 2008-05-30 в 15:29:54
Пардон
eximstats
FenX, 2008-06-16 в 2:22:22
Не могу понять, это так и надо, или очепятка?
Ибо как я понял (доков особо не читал), в этой строке устанавливается текущий юзер...
А здесь значение вообще (по-моему) пустое получается...
Или я не прав? Оо
auth_cram_md5:
....
server_set_id = $auth2
Pr0x1ndei, 2008-06-26 в 8:00:38
Лисяра большущее спасибо за статью :) долго читал ибо многа букаф но понял всё что хотел и даже больше, такой вопрос
в некоторых блеклистах типо relays.ordb.org присутствуют извесные сервера типо google.com, yandex.ru, rambler.ru
хотелосьбы создать whitelist
accept condition = ${lookup{$sender_host_address} \
wildlsearch{/usr/local/etc/exim/db/whitelist.txt} \
{yes}{no}}
это должно выглядеть так или я чтото забыл или пропустил ???
sergio, 2008-08-05 в 17:01:55
При обновлении dovecot до dovecot-1.1.2_1 возникла ошибка:
Error in configuration file /usr/local/etc/dovecot.conf line 254: Unknown setting: default_mail_env
Причина: поменялся синтаксис директив
Решение : default_mail_env заменить на mail_location
Прошу автора поправить в статье!
Tech, 2008-08-06 в 12:23:09
Хотел на FreeBSD 7 поднять все это дело, но не сложилось с рейдом: адаптековский asr падал поcтоянно, аналогично как и gmirror. Времени думать долго не было и пришлось лепить с г..на конфту (железо старое) в ускоренном темпе. Поставил Debian etch - и сконфигуировал там md. Пока вроде держится. Но я не об этом...
Поскольку постфиксадмин хранить данные в $CONF['encrypt'] = 'md5crypt'; а хранить в открытом виде как бы не особо и хотелось бы, плюс ко всему проверка логина/пароля на поп3 идет через dovecot, то почему бы не попользоваться им и для smtp auth ?
вот что получается у меня.
postfixadmin/config.inc.php
...
$CONF['encrypt'] = 'md5crypt';
$CONF['domain_path'] = 'YES';
$CONF['domain_in_mailbox'] = 'NO';
/etc/dovecot/dovecot-sql.conf
...
default_pass_scheme = MD5
password_query = SELECT `username` as `user`,`password` FROM `mailbox` WHERE `username`='%n@%d' AND `active`='1'
user_query = SELECT `maildir` AS `home`, 102 AS `uid`, 104 AS `gid` FROM `mailbox` WHERE `username`='%n@%d' AND `active`='1'
102,104 - это дефолтный дебиановские Debian-exim. решил поставить их т.к. после апдейта или других манипуляций оно все права на спул и логи exim'a ставит в Debian-exim, вобщем не удобно что-то другое ставить.
соответсвенно, меняем чуток /etc/dovecot/dovecot.conf
...
socket listen {
master {
path = /var/run/dovecot/auth-master
mode = 0600
user = Debian-exim
#group = Debian-exim
}
client {
path = /var/run/dovecot/auth-client
mode = 0660
user = Debian-exim
#group = Debian-exim
}
}
ну и exim4.conf:
exim_user = Debian-exim
exim_group = Debian-exim
...
dovecot_delivery:
driver = pipe
command = /usr/lib/dovecot/deliver -d $local_part@$domain
message_prefix =
message_suffix =
delivery_date_add
envelope_to_add
return_path_add
log_output
user = Debian-exim
...
auth_plain:
driver = dovecot
public_name = PLAIN
server_socket = /var/run/dovecot/auth-client
server_set_id = $auth1
auth_login:
driver = dovecot
public_name = LOGIN
server_socket = /var/run/dovecot/auth-client
server_set_id = $auth1
отмечу также что для нормальной работы dovecot_delivery мне пришлось на dovecot.conf и dovecot-sql.conf поставить группой Debian-exim и дать право на чтение, а то по-дефолту шло -rw-----— 1 root root и доставка не работала а в логе exim'a шли матюки на пермишены файла dovecot.conf
Также нужно поставить права на mail_location как Debian-exim:Debian-exim ну или какие там у вас узеры и группы.
Надеюсь, кому-то это будет полезным. Если что не так (может где глупости делаю) - поправьте меня плиз.
playnet, 2008-08-07 в 20:13:45
При создании мускуль базы я сделал проще, без правки системной базы:
grant all on mail.* to mail@localhost identified by 'mail';
Грамматика опять хромает, вордом проверил бы :) Кстати, в ООо проверка грамматики есть (вспоминая давний разговор).
И еще.. у тебя на сайте бага, если ФФ упал (3 это любит), часть страниц пытается открыться как octet-stream и больше эту страницу не открыть, она висит как "пустая". Пофикси плиз.
Tchk, 2008-08-26 в 17:50:55
если в постфиксадмине при добавлении ящика говорит "неверное имя", то проверку мона отключить так:
/usr/local/www/postfixadmin/config.inc.php
$CONF['emailcheck_resolve_domain']='NO';
(проблема вызвана желанием начальства параллельно настраивать сервер и регистрировать домен)
gavryuha, 2008-08-30 в 19:57:47
А тут condition разве правильный??
Помоему это копипаст из строки выше (system aliases)
С таким условием выдаёт Unrouteable address
<u>ГЛЮКИ!</u>
# Всё что осталось - это локальные адресаты.
# Доставляем почту в dovecot
dovecot_user:
driver = accept
condition = ${lookup mysql{SELECT `goto` FROM \
`alias` WHERE \
`address`='${quote_mysql:$local_part@$domain}' OR \
`address`='${quote_mysql:@$domain}'}{yes}{no}}
transport = dovecot_delivery
bayun, 2008-10-17 в 17:32:39
Не сталкивался до этого ни с exim ни c dovecot (откровенно говоря с почтовыми серверами сталкивался мало - по мере необходимости, а она возникала очень редко ;-)). Попробовал.В основном получилось (SMTP и POP 3 есть все проверяется как через клиент так и по tlnet).Не работает почему-то dovecot_delivery transport (не запускается с кодом ошибки 75), но я на форумах обнаружил, что данная проблема возникала не только у меня , так что думаю я ее победю ( или побежду Ж-)). А если серьезно - спасибо. По крайней мере в следующий раз уже без проблем смогу установить и отладить почту (правда когда разберусь с ошибкой LDA) :-)
Еще раз спасибо и желаю удачи.
mult, 2008-10-20 в 19:40:39
спасибо за статью, настроил сее почту именно таким образом и все раотает. но вот с trash - проблема )-;
ProFTP, 2008-12-07 в 20:04:04
аналог Postfxadmin
goto http://forum.lissyara.su/viewtopic.php?f=20&t=12348
Захаров Дмитрий, 2008-12-10 в 22:54:42
lissyara
Спасибо Вам за Ваши труды! пусть все у Вас всегда получается!
Sava, 2009-01-03 в 16:55:25
Спасибо, все завелось практически без напильника.
Тов. Лису огромное спасибо, но есть не то просьба, не то пожелание - неочевидные вещи хотя-бы раз в статье дохочдиво коментировать. Например структура АЦЛины. Не читая мануала синтаксис не очевиден.
И второе по теме. Видели у пофигс-одмина при создании домена галку "Резервный МХ". Так вот чтоб EXIM мог быть Backup MX то надо немножко исправить запрос
domainlist local_domains = ${lookup mysql{SELECT `domain` \
FROM `domain` WHERE \
`domain`='${domain}' AND \
`active`='1'}}
и дописать туда "AND `backupmx` = '0'"
Тогда почта приходящая на EXIM в случае падения основного МХ не будет пробовать доставиться локально, а будет висеть в очереди и раз в приблизительно 30 минут пытаться уходить на основной МХ. Время и интервалы повторов отправки не поборол.
Если мы в блоке retry попробуем прописать
# Address or Domain Error Retries
# ---------------— ---— -------
domain.tld * F,10h,1m
* * F,2h,15m; G,16h,1h,1.5; F,4d,6h
Что по мануалу значит "для любых ошибок домена domain.tld повторять отправку с фиксированным (F) инетрвалом в 1мин на протяжении 10 часов" то через 1-2 минуты он нифига не пробует повторить самостоятельно. Зато легко повторяет после его перезагрузки (а не ругается что retry интервал еще не наступил) что значит что 10h,1m все-же работает. А вот если его не трогать, то сам он одумывается приблизительно через 30 минут и успешно доставляет отложенную почту на оживший первый МХ. Кожет кто-то знает в чем загвоздка?
lissyara, 2009-01-03 в 17:07:14
Э, нет. Мануал всё равно читать надо - его чтения не отменяет никакое how-to. Иначе всё вернётся к винде - когда упало и незнаешь причин - лезешь искать очередной мануал. И так до бесконечности.
Лучше один раз прочесть доку.
Sava, 2009-01-03 в 17:46:54
Само собой. Но природа человека такова, что хочется всего и сразу. Кроме того существуют психологические барьеры: - мануал большой, информационная нагрузка не позволяет выделить сразу ту часть, которая необходима для "стандартной задачи". Т.к мануал - это справочник. А статья, особенно написанная грамотным дядькой дает единовременно общее понимание о системе. А дальше, когда уже вырисовались некоторые основы мануал читается и понимается на ура. И чет мне кажется что не я один такой. Так что спасибо тов. Лис за твои труды.
lissyara, 2009-01-03 в 17:58:29
Ну... Согласен =)
Но из собственного опыта - когда дошёл сам - гораздо лучше в память врезается, и куда доходчивей.
Константин, 2009-01-22 в 14:29:22
такая же беда как у john
dovecot: auth-worker(default): sql(john,10.100.1.100): query: SELECT `username` as `user`, `password` FROM `mailbox` WHERE `username` = 'john@' AND `active`='1'
Вместо пустого параметра %d (где должен подставляться домен) написал сам домен ручками, теперь авторизуется. но это не правильно... у кого есть решение?
password_query = SELECT `username` as `user`, `password` FROM \
`mailbox` WHERE `username` = '%n@mydomen.ru' AND `active`='1'
lissyara, 2009-01-22 в 14:36:50
Ребят, давайте в форум по проблемам.
Итак больше сотни камментов налепили к статье =)))
=======
по факту - у меня работает, именно в таком виде. Прямо щас.
fxpester, 2009-01-28 в 16:21:46
Константин, http://forum.lissyara.su/viewtopic.php?f=20&t=11384&start=0
Starsh, 2009-02-10 в 18:14:24
HELP!!!!
Сделал всё как написано в статье! Статья просто БОМБА! Но есть проблема и не знаю как её обойти!!
------------------------------------
Лог regectlog пример:
2009-02-10 16:45:27 H=(fr-end-02.iptelecom.net.ua) [213.159.224.232] I=[ххх.ххх.ххх.ххх]:25 F=<> rejected RCPT <star@temp.kiev.ua>: "А какого HELO пустое?! Не по RFC..."
В теле письма :
550 Sender verify failed
Это происходит с некоторыми хостами, не со всеми. Я как понял, есть проверка моих пользователе, а в этой конфе ексима этого нет! Подскажите как и где это исправить??? У меня 10 дней полёта, а результат 0.
Starsh, 2009-02-10 в 18:17:01
HELP!!!!
Сделал всё как написано в статье! Статья просто БОМБА! Но есть проблема и не знаю как её обойти!!
------------------------------------
Лог regectlog пример:
2009-02-10 16:45:27 H=(fr-end-02.iptelecom.net.ua) [213.159.224.232] I=[ххх.ххх.ххх.ххх]:25 F=<> rejected RCPT <star@temp.kiev.ua>: "А какого HELO пустое?! Не по RFC..."
В теле письма :
550 Sender verify failed
Это происходит с некоторыми хостами, не со всеми. Я как понял, есть проверка моих пользователе, а в этой конфе ексима этого нет! Подскажите как и где это исправить??? У меня 10 дней полёта, а результат 0.
alex, 2009-02-19 в 13:10:11
мозги набекрень, при вводе логина и пароля в postfixadmin пишет неправильное имя и пароль, где копать?
alex, 2009-02-19 в 14:16:51
пока ждал ответа вроде разобрался, тут другие грабли , постоянно денаить пользователя exim
DEBUG INFORMATION:
Connect: Access denied for user 'exim'@'localhost' (using password: YES)
Please check the documentation and website for more information.
Alive, 2009-02-19 в 17:34:05
Не флуди. Человеческим языком написано что юзер не подходит или пароль.
Max, 2009-03-04 в 14:41:58
Понятно автоответчик (без БД) здесь
http://wiki.exim.org/EximAutoReply
irr, 2009-03-07 в 8:25:23
Огромное спасибо за статью!
Предлагаю внести поправку: раз уж мы собираем exim с опцией
LOG_FILE_PATH?= syslog
целесообразно дописать в конфиг
write_rejectlog = false
чтобы избежать дублей отфутболенных сообщений в maillog.
Gillian, 2009-03-21 в 1:54:07
в статье уважаемого lissyara допущена оплошность из-за которой мозги ВСТАЛИ блин, при сборки dovecot ОБЯЗАТЕЛЬНО указываеться опция LDAP , если её пропустить в /usr/local/libexec/dovecot - можете забыть о delivery и делать свои мозги ракообразными, у меня ВСЕ млять после трех дней такого кайфа ( еще clamd - не забывайте) мозги встали, но работает как часы
конфиг самомго clamav указывал на clamd.sock, конфиг exima на clamd , подправить конфиги
redkid, 2009-05-05 в 9:30:57
Релиз 7.1 точный копипаст конфигов, получение почты работает отлично и доставка писем из внешнего мира тоже, но вот отправка писем на сервер не работае ни в какую, причем что странно в логах ничего нет, почтовый клиент матерится о невозможности подключиться к серверу!
Luser, 2009-07-01 в 9:19:33
Получилось сделать авторизацию для отправки
dovecot.conf:
auth default {
mechanisms plain login
}
dovecot-sql.conf:
default-pass-scheme MD5
# Для CRAM-MD5 выдает такое:
Error: auth-worker(default): sql(test@mydomain.ru,10.10.10.15): Password in passdb is not in expected scheme CRAM-MD5
postfixadmin, config.inc.php:
$CONF['encrypt'] = 'md5crypt';
Пароли хранятся в MySql-базе в шифрованном виде
Drema, 2009-09-23 в 3:19:49
Делал по статье, dovecot 1.2.4, обнаружились следующие грабли:
в логе: dovecot: pop3-login: Internal login failure (auth failed, 1 attempts)
Лечится изменением запроса в dovecot-sql.conf:
user_query = SELECT CONCAT('/var/mail/exim/',maildir) AS `home`, 26 AS `uid`, 26 AS `gid` FROM `mailbox` WHERE `username` = '%n@%d' AND `active`='1'
Seltsam, 2009-10-20 в 19:28:17
Как обычно - хвала и благодарности статье =)
Вопрос только такой - права и владельцы на каталог /var/mail/exim/ какие, по дефолту?
karpekin, 2009-12-17 в 11:02:22
Делаю:/usr/local/etc/rc.d/dovecot start
Пишет:Unknown setting: umask
Наверное эта переменная для старого dovecot-a?
daggerok, 2009-12-24 в 13:53:20
># Этот кусок я не трогал. Думаю разработчики лучше знают,
># какие тут должны быть цифирьки. Если же вы это знаете
># лучше их - меняйте. Хотя... А какого, если Вы такой
># умный, читаете этот мануал? Может ну, их, цифирьки, а? :)
># Address or Domain Error Retries
># ---------------— ---— -------
>* * F,2h,15m; G,16h,1h,1.5; F,4d,6h
эти цифирьки указывают интервалы времени на протяжении которых будут производиться попытки отправить письма повторно
# Domain Error Retry Then Finaly
* * F,2h,10m; F,24h,1h; F,4d,6h
# Retry - every 10 mins for 2 hours
# Then - every hour for 24 hours
# Finally - every 6 hours for 4 days
Abibas, 2009-12-30 в 17:59:19
Думаю что роутер dovecot_user наверное лучше бы выглядел так:
condition = ${lookup mysql{SELECT `username` FROM \
`mailbox` WHERE \
`active`='1' AND \
`username`='${quote_mysql:$local_part@$domain}' OR \
`username`='${quote_mysql:@$domain}'}{yes}{no}}
Так, как морда postfixadmin активирует юзерей именно в этой таблице.
v_d_v, 2010-01-12 в 0:24:42
Для Exim 4.71 нашелся такой баг: при отправке наружу с SMTP авторизацией уходят письма со следующими заголовками: MAIL FROM:"mailbox@domain.tld"@hostname.com.
Если отправлять письма с локальных сетей без SMTP авторизации, то заголовки правильные.
v_d_v, 2010-01-12 в 0:57:25
Упустил, в новом конфиге Exima
#control = submission
макс, 2010-04-26 в 11:47:10
Как попасть в постфиксадми какие там логин и пароль? Ведь еще не один пользователь не создан?
baton4eg., 2010-04-27 в 13:13:02
Morty, 2010-07-07 в 16:34:45
dovec-sql:
password_query = SELECT password FROM mailbox WHERE username = \'%n@%d\' AND `active`=\'1\'
user_query = SELECT CONCAT(\'/var/mail/exim/\',maildir) AS `home`, 26 AS `uid`, 26 AS `gid` FROM `mailbox` WHERE `username` = \'%n@%d\' AND `active`=\'1\'
-----
maxsubzero, 2010-07-24 в 11:51:06
Спасибо за статью! С небольшой переделкой на использование Dovecot LDA (по их же вики) для доставки на виртуальные домены всё заработало с полоборота!
Спасибо, Лис, за труд и за такой хороший сайт по Фре :)
uriinf, 2010-07-29 в 16:51:10
# Рубаем тех, кто не пишет отправителя
# deny condition = ${if eq{$sender_address}{}{yes}{no}}
# hosts = !127.0.0.1 : !localhost : *
# message = "А какого HELO пустое?! Не по RFC..."
## Рубаем тех, кто не пишет отправителя (пробел)
# deny condition = ${if match{$sender_address}{\N^\s+$\N}{yes}{no}}
# hosts = !127.0.0.1 : !localhost : *
# message = "А какого HELO пустое (тока пробелы)?! Не по RFC..."
Разве тут вместо $sender_address не $sender_helo_name должно стоять?
Mikola, 2010-08-03 в 14:32:55
если у кого в начале косяк с установкой - по прилагаемым лиссярой дампам пользователю exim не хватает прав на две команды CREATE и ALTER.
было:
— БД: `exim`
GRANT SELECT, INSERT, DELETE, UPDATE ON exim.* TO exim@localhost;
надо:
GRANT SELECT, INSERT, DELETE, UPDATE, CREATE, ALTER ON exim.* TO exim@localhost;
может потому что MySQL 5.0
blitzkrieg, 2010-09-29 в 17:32:31
# Рубаем тех, кто не пишет отправителя
# deny condition = ${if eq{$sender_address}{}{yes}{no}}
# hosts = !127.0.0.1 : !localhost : *
# message = "А какого HELO пустое?! Не по RFC..."
Если речь идет именно о $sender_address то данное acl нарушает RFC :-)
Сервер должен принимать почту с пустым отправителем. Читать тут: http://www.rfc-ignorant.org/policy-dsn.php
Alex Keda, 2010-09-29 в 21:02:52
ничё что оно закомментировано?
blitzkrieg, 2010-09-29 в 21:53:01
Это не так важно, правило есть в том виде в котором оно тут представлено. Более того у многих тех, кто будет пользоваться данной статьей возникнет непреодолимое желание его раскомментировать, так как оно вполне соответствует логике. Тот кто прочитает комментарии может избавить себя от ненужных возможных проблем с проверкой отправителя на сторонних серверах и попаданием в лист.
Саша, 2010-11-30 в 10:12:04
В начале показано как искать в портах и потом сразу запуск make..., а хорошо бы перейти в нужную директорию! Мало ли, юные админы в /usr/ports запустят make и будут ждать.. ;)
daggerok, 2010-11-30 в 10:40:47
прям уж, если человек не знает как устанавливать из портов, то как не пшии, а до этой статьи ему еще рано.
adre, 2010-11-30 в 12:09:55
[code]dovecot --version
1.2.14
[/code]
Проколупался с кубом по поводу listen * - это не есть локал хост, localhost - это Listen:localhost,*
salimk, 2011-09-07 в 11:35:11
Всем привет,
я пользуюсь dovecot+postfix+postfixadmin, и мне нужно было сделать так, чтобы у каждого почтового ящика был свой id (не статичный),
расскажу как я сделал:
в таблицу mailbox (mysql), добавил 2 поля
Имя: u_id и g_id
тип данных: int
Ширина типа: 11
затем в create-mailbox.php:
над строкой 219 добавляем:
$genid=mt_rand(1000,2000); # диапазон от 1000 до 2000
после меняем сторку
$result = db_query ("INSERT INTO $table_mailbox ....
на
$result = db_query ("INSERT INTO $table_mailbox (username,password,name,maildir,local_part,quota,domain,created,modified,active,u_id,g_id) VALUES ('$fUsername','$password','$fName','$maildir','$local_part','$quota','$fDomain',NOW(),NOW(),'$sqlActive','$genid','$genid')");
В Postfix main.cf
virtual_uid_maps = mysql:$config_directory/uid.cf
virtual_gid_maps = mysql:$config_directory/gid.cf
в uid.cf:
host = unix:/tmp/mysql.sock
user = postfix
password = mysecret
dbname = mail
table = mailbox
select_field = u_id
where_field = username
в gid.cf
host = unix:/tmp/mysql.sock
user = postfix
password = mysecret
dbname = mail
table = mailbox
select_field = g_id
where_field = username
для dovecot
first_valid_uid = 1000
last_valid_uid = 2000
first_valid_gid = 1000
last_valid_gid = 2000
dovecot-sql.conf:
.....
user_query = SELECT u_id AS uid, g_id AS gid FROM mailbox WHERE username = '%n@%d' AND active='1'
Salimk, 2011-09-29 в 7:31:21
Вот еще одна фичя
в config.inc.php:
.............
$username=$_POST['fName'];
$secretpass=$_POST['fPassword'];
$milo=$_POST['fUsername'];
$domen=$_POST['fDomain'];
// Welcome Message
// This message is send to every newly created mailbox.
// Change the text between EOM.
$CONF['welcome_text'] = <<<EOM
Здравствуйте уважаемый(ая) $username
Добро пожаловать в домен $domen!
Вы можете просматривать вашу почту с помощью веб-браузера, для этого перейдите по ссылки http://mail.$domen , и введите в графе:
Имя пользователя: $milo
Пароль: $secretpass
С Уважением администрация домена $domen
EOM;
.....
massacrer, 2011-12-01 в 13:02:00
Спасибо Лисяре за материал. Около полугода пользовал во FreeBSD, немного доработал и был доволен, но недавно сервер приказал долго жить и пришлось купить новый. Решил отказаться от FreeBSD в пользу Ubuntu так как с ней мне работать комфортнее. При миграции конфигов возникли некоторые сложности, о которых хочу рассказать.
Особенности для Ubuntu 11.10. Программы ставим так:
# sudo apt-get install mysql-server mysql-client exim4-daemon-heavy dovecot-imapd dovecot-pop3d dovecot-mysql spamassassin
Dovecot встанет 2-й и при запуске предложит переработать конфиг. Не помню уже какой командой, но он выводит ее на экран. uid, от которого идет обращение к папкам и файлам с почтой, можно подправить в /etc/dovecot/dovecot-sql.conf (я переносил готовые конфиги, а потому совсем про это забыл).
С Exim хлопот немного больше. Для начала нужно дописать в начале /etc/exim4/update-exim4.conf.conf строку: dc_eximconfig_configtype=none и далее работать с /etc/exim4/exim4.conf. Может потребоваться рихтовка, так что см. логи. Если обращение к логам Exim'a будет идти не от пользователя Debian-exim, то нужно подставить нужного в /etc/logrotate.d/exim4-*
Вроде бы все. Извините, если что-то упустил.
Lol, 2011-12-21 в 9:08:03
Спасибо много букф аффтор жоот иду искать проще статью
i4iro, 2012-03-15 в 5:44:14
куда проще
i4iro, 2012-03-15 в 5:44:16
куда проще
i4iro, 2012-03-19 в 3:40:20
2 massacrer
ЕРЕТИК
на костер его :)
Demon, 2013-02-07 в 18:47:28
MySQL 5.5
TYPE=MyISAM
меняем на
ENGINE=MyISAM
Дмитрий, 2020-07-21 в 13:20:41
deny message = "your hostname is bad (adsl, poll, ppp & etc)."
condition = ${if match{$sender_host_name} \
{adsl|dialup|pool|peer|dhcp} \
{yes}{no}}
А письма от glavpooltorg.su тоже будут блокироваться?
Этот информационный блок появился по той простой причине,
что многие считают нормальным, брать чужую информацию не уведомляя автора
(что не так страшно), и не оставляя линк на оригинал и автора — что более существенно.
Я не против распространения информации — только за. Только условие простое — извольте
подписывать автора, и оставлять линк на оригинальную страницу в виде прямой, активной, нескриптовой,
незакрытой от индексирования, и не запрещенной для следования роботов ссылки.
Если соизволите поставить автора в известность — то вообще почёт вам и уважение.
© lissyara 2006-10-24 08:47 MSK
Комментарии пользователей [144 шт.]