Abarmot Опубликовано 1 февраля, 2009 Жалоба Поделиться Опубликовано 1 февраля, 2009 Господа, заранее прошу сильно не пинать. Помогите с таким тривиальным вопросом. Имеется выделенный сервер под CentOS 5.2, на нем крутится шесть десятков доменов. Сейчас используется всего один ящик на все домены - такой себе catchall, кидающий всю входящую почту всех доменов на одного UNIX-юзера. Sendmail занимается доставкой, dovecot стоит в простейшей конфигурации для забирания почты того самого одного UNIX-юзера по POP3. Как вы понимаете, это все не очень удобно... Поэтому захотелось создать отдельные ящики со своими POP3/SMTP логинами/паролями для каждого домена, чтобы можно было без проблем добавлять нужные ящики любому домену. Вэбмэйл не требуется, особо сложные почтовые комбайны ставить неохота, нужен лишь POP3 и SMTP доступ к созданным ящикам, ну можно еще IMAP. Гуглил и искал по этому сайту - понятной для меня инфы не нашел. Во всех предлагаемых вариантах используется либо exim, либо postfix. Так как я никогда ничего подобного еще не делал, я даже не знаю какой софт мне нужен. Некоторые настоятельно советовали сменить sendmail на что-то другое, однако делать этого не хочу, так как множество скриптов настроено и работают именно в этой конфигурации и не очень хочется что-то тревожить. Посоветуйте наилучший вариант решения моего вопроса и, желательно, how-to инструкции (сорри за наглость) Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
AccessD Опубликовано 1 февраля, 2009 Жалоба Поделиться Опубликовано 1 февраля, 2009 гуглите на предмет sendmail virtual domain например http://www.opennet.ru/base/net/cyrus_sendmail_virt.txt.html Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Abarmot Опубликовано 1 февраля, 2009 Автор Жалоба Поделиться Опубликовано 1 февраля, 2009 AccessD писал(а) Sun, 01 February 2009 11:43 гуглите на предмет sendmail virtual domain например http://www.opennet.ru/base/net/cyrus_sendmail_virt.txt.html Это уже давно сделано... в /etc/mail/local-host-names прописаны хостящиеся домены, в /etc/mail/virtusertable все адреса форвардятся на одного и того же локального юзера (скажем, mailuser), sendmail принимает почту без проблем, но вот сваливает всё в один контейнер /var/spool/mail/mailuser В данный момент с сервера я получаю почту юзера mailuser через POP3 (dovecot) - все письма всех доменов сыпятся на один почтовый ящик. А как сделать чтобы почта приходила и сортировалась по ящикам? Чтобы у каждого отдельного ящика были логин и пароль для доступа по POP3 ? Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
AccessD Опубликовано 1 февраля, 2009 Жалоба Поделиться Опубликовано 1 февраля, 2009 во-первых, уберите форвард во-вторых, читать http://wiki.dovecot.org/Authentication Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Abarmot Опубликовано 2 февраля, 2009 Автор Жалоба Поделиться Опубликовано 2 февраля, 2009 AccessD писал(а) Sun, 01 February 2009 13:16 во-первых, уберите форвард во-вторых, читать http://wiki.dovecot.org/Authentication спасибо, что показали где копать )) просто не мог понять принцип, по которому создаются виртуальные юзера и где хранится почта... в общем, всё сделал, скрестил sendmail и dovecot как LDA... для создавания/удаления юзеров скриптик на перле набросал - теперь делается всё в пару кликов... почта приходит, сортируется по ящикам... в общем, всё гуд... вот вопрос еще - как сделать чтобы почта, идущая на локального юникс юзера (всякие logwatch и систмные письма) пересылалась на один из виртуальных ящиков? может, кто уже делал? просто лень снова маны курить по таким мелочам... лень - двигатель прогресса хаха )) пока писал вопрос, нашел как это делается )) в файле /etc/aliases вопрос снят ))) о! еще никак не могу найти как сделать общий catch-all ящик... к примеру, есть у меня несколько десятков доменов, заведены по пару ящиков каждому... а как сделать, чтобы почта, идущая на несуществующие ящики этих доменов не отстреливалась, а сыпалась в один общий ящик? сейчас sendmail спрашивает у dovecot есть ли такой ящик, получает отрицательный ответ и отказывает в приеме сообщения User unknown.. как заставить dovecot говорить что ящик такой есть, но принимать эту почту в общий catch-all бокс ? http://dovecot.org исходил вдоль и поперек.. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
uchtii Опубликовано 5 февраля, 2009 Жалоба Поделиться Опубликовано 5 февраля, 2009 а можно подробнее... как настроил ? у меня тоже проблема , не могу прикрутить dovecot к sendmail. 1. добавил в sendmail.mc строку MAILER(dovecot)dnl 2. создал /usr/share/sendmail/cf/mailer/dovecot.m4 ######################*****############## ### DOVECOT Mailer specification ### ##################*****################## Mdovecot, P=/usr/local/libexec/dovecot/deliver, F=DFMPhnu9, S=EnvFromSMTP/HdrFromSMTP, R=EnvToSMTP/HdrFromSMTP, T=DNS/RFC822/X-Unix, A=deliver -d $u 3. конфиг dovecot protocols = imap imaps pop3 pop3s log_path = /var/log/dovecot.log info_log_path = /var/log/dovecot-info.log ssl_disable = yes disable_plaintext_auth = no mail_location = maildir:~/Maildir pop3_uidl_format = %08Xu%08Xv dotlock_use_excl=yes maildir_copy_with_hardlinks=yes auth_verbose = yes auth default { mechanisms = plain passdb passwd-file { args = /etc/dovecot/passwd } userdb static { args = uid=vmail gid=vmail home=/home/vmail/%u } socket listen { master { path = /var/run/dovecot/auth-master mode = 0600 user = vmail # User running deliver } } } protocol lda { # remember to give proper permissions for these files as well log_path = /var/log/dovecot-deliver.log info_log_path = /var/log/dovecot-deliver.log } 4. добавил в mailertable domain.com dovecot:dovecot как я понимаю после этого довекот должен перехватить доставку почты для domain.com на себя и переносить всю почту для домена в директорию vmail ... но почта вообще не доходит, возвращается через час с ошибкой что сервер не принял почту для этого пользователя ... в local-host-names я прописал domain.com... в maillog вижу строку gmbdirect sendmail[19125]: alias database /etc/aliases.db out of date может что то в алиас нужно прописать? Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Abarmot Опубликовано 5 февраля, 2009 Автор Жалоба Поделиться Опубликовано 5 февраля, 2009 я так понял, что ты создал юзера vmail, сделал файл /etc/dovecot/passwd (если база у тебя в тексте) с записями для каждого юзера типа test@domain.com:{PLAIN}testing123 добавил MAILER(dovecot)dnl в sendmail.mc и не забыл сделать ребилд (make -C /etc/mail) и что с разрешениями на все файлы у тебя порядок также, я так понял, что MX записи у тебя в порядке и почта исправно принималась до того как ты начал шаманить с dovecot-ом... верно? я под CentOS 5.2 (а какая у тебя ось?) и сменил путь в созданном файле dovecot.m4 с /usr/local/libexec/dovecot/deliver на /usr/libexec/dovecot/deliver sendmail будет передавать почту dovecot-у только если хост не в классе w... проверить можно так echo '$={w}' | sendmail -bt (если ты шаманил с настройками и прописал вирт хосты в /etc/mail/local-host-names то убирай их оттуда) в /etc/mail/access для каждого виртуального хоста добавил example.com RELAY иначе sendmail будет боунсить почту этого домена (конечно, если у вас всё верно с безопасностью sendmail) в /etc/mail/mailertable добавил строку domain.com dovecot:dovecot для каждого вирт хоста (не забываем делать makemap hash /etc/mail/mailertable.db < /etc/mail/mailertable после каждого изменения) в /etc/aliases ничего писать ненадо... разве что выполните newaliases чтобы обновить хэш и та запись в maillog исчезнет вот мой /etc/dovecot.conf (смотри атач) как видишь, в основном всё по дефолту, лишь несколько изменений... я сначала протормозил с путями... неправильно прописал mail_location cat /etc/hosts | /usr/libexec/dovecot/deliver -d test@domain.com исправно доставлял файл /etc/hosts в ящик test@domain.com а sendmail упорно отвечал что такого ящика нет ))) я уже седеть начал... пол-дня искал почему же он с ошибкой вываливается.. ))))))))) кстати, в секции protocol lda {} добавил пару строк для ведения логов LDA - видно что доставляется а что нет и еще, хоть sendmail у меня и работает как рут, он почему-то не мог запустить deliver пришлось сделать chmod u+s /usr/libexec/dovecot/deliver отпишись о результатах шаманства Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Ineu Опубликовано 5 февраля, 2009 Жалоба Поделиться Опубликовано 5 февраля, 2009 Abarmot писал(а) Thu, 05 February 2009 11:50 я так понял, что ты создал юзера vmail, сделал файл /etc/dovecot/passwd (если база у тебя в тексте) с записями для каждого юзера ... Используйте меню "вложение файла". Весьма неприятно перелистывать в рсс-ридере стопицот страниц Ваших конфигов. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
uchtii Опубликовано 5 февраля, 2009 Жалоба Поделиться Опубликовано 5 февраля, 2009 посмотрел как у тебя настроенно, у меня все в принципе так же . поменял только mail_location добавил поддержку access добавил в него строку с релаем (что счетаю не безопасным) убрал из local-host-names рекорд ... и кстати сделал newaliases ( помогло надпись в логах исчезла) попробовал после изменений отправить , письмо возвращается с сообщением Relaying denied. Proper authentication required. у меня такое было... я поэтому и добавил в local-host-names... хотя меня это удивляет - ведь в access я добавил рекорд ... непонятно ... Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
uchtii Опубликовано 5 февраля, 2009 Жалоба Поделиться Опубликовано 5 февраля, 2009 и еще в dovecot-deliver.log все пусто - ничего нет Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Abarmot Опубликовано 5 февраля, 2009 Автор Жалоба Поделиться Опубликовано 5 февраля, 2009 EvilShadow писал(а) Thu, 05 February 2009 14:59 Используйте меню "вложение файла". Весьма неприятно перелистывать в рсс-ридере стопицот страниц Ваших конфигов. а еще, наверное, нужно подумать о тех, кто читает форум на экране мобильников... да? ок просто я думал оно сделает конфиг не таким большим окном, а со скроллбаром, как на остальных форумах... uchtii писал(а) Thu, 05 February 2009 15:01 попробовал после изменений отправить , письмо возвращается с сообщением Relaying denied. Proper authentication required. у меня такое было... я поэтому и добавил в local-host-names... хотя меня это удивляет - ведь в access я добавил рекорд ... непонятно ... а что в maillog ? тоже ничего нет? если получаешь Relaying denied. Proper authentication required. то надо sendmail ковырять... вот у меня есть еще одна машина, только сегодня поставил туда с нуля CentOS 5.2 и такую же почтовую связку... вот конфиг sendmail-а (смотри атач)... как видишь, почти всё дефолтное... работает без проблем, проверено на open relay... и смотри чтобы не добавил домен в класс w - тогда давкот точно его не примет... ты так и не сказал что у тебя за ось? Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
uchtii Опубликовано 6 февраля, 2009 Жалоба Поделиться Опубликовано 6 февраля, 2009 наконецто получилось... дело было в том что я access криво собрал ... сделал makemap hash снова ... после этого почта стала возвращаться с ошибкой user unknown ... посмотрел как у тебя настроен userdb в dovecot ( ты там писал полное имя вмесе с доменом, а я нет - только имя ) исправил рестартнул довекот и все получилось большое спасибо теперь осталось прикрутить спамоборону от яндекса (ради неё все затевалось) Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.